指针数组和数组有什么区别吗?萌新求教
#include<stdio.h>int main()
{
char str={{1,2,3},{4,5,6},{7,8,9}};
int i,j,sum1=0,sum2=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i==j)
sum1+=str;
if(i+j==2)
sum2+=str;
}
printf("主对角线成员之和:sum=%d\n,副对角线成员之和:sum=%d\n",sum1,sum2);
return 0;
}
#include<stdio.h>
int main()
{
char *pl = {
"lll",
"hhhh",
"iiii",
"nnnnn",
"aaaaa"
};
int i;
for(i= 0; i< 5; i++)
{
printf("%s\n", pl);
}
return 0;
}
这两段代码有什么区别吗? 本帖最后由 jackz007 于 2022-11-16 20:03 编辑
char str={{1,2,3},{4,5,6},{7,8,9}};
定义了 str 为 3 x 3 的字符型二维数组(注意,不是字符串)。如果要把一个行用来储存字符串的话,那么,每个行最多只能储存 2 个字符的字符串。
char *pl = {
"lll",
"hhhh",
"iiii",
"nnnnn",
"aaaaa"
};
定义了pl 为含有 5 个元素的指针数组,每个指针元素指向字符串数组中的一个字符串,这些事情由编译器来负责搞定。
页:
[1]