一、数组的大小
数组一旦声明,大小就确定了,无论元素是否填充
以大括号声明的数组,数组大小和大括号中元素的数量是一致的
以双引号字符串声明的字符数组,数组大小比字符的个数多一个
sizeof(数组名)得到的是元素类型所占字节数与数组大小的乘积
二、元素的个数
数组中以 '\0' 表示元素的末尾,
元素的末尾不一定是数组的末尾
三、示例代码
#include<stdio.h>
int main()
{
int arr1[10];
int arr2[]={21,22,23,24,25};
char arr3[10];
char arr4[]="hello";
char arr5[]={'h','e','l','l','o'};
int i=0;
printf("%ld %ld\n",sizeof(arr1),sizeof(arr2));
printf("%ld %ld %ld\n",sizeof(arr3),sizeof(arr4),sizeof(arr5));
arr1[0]=11;
arr1[1]=12;
arr3[0]='w';
arr3[1]='o';
printf("%ld %ld\n",sizeof(arr1),sizeof(arr3));
while(arr1[i]!='\0'){
i++;
}
printf("%d ",i);
i=0;
while(arr3[i]!='\0'){
i++;
}
printf("%d\n",i);
i=0;
while(arr2[i]!='\0'){
i++;
}
printf("%d ",i);
i=0;
while(arr4[i]!='\0'){
i++;
}
printf("%d ",i);
i=0;
while(arr5[i]!='\0'){ //这里会有问题,先不管了
i++;
}
printf("%d\n",i);
return 0;
}