求数组的长度
例程:
#include <stdio.h>
#include <string.h>int main()
{
char a[1000];
int i;
for(i = 0; i<1000;i++)
{
a[i] = -1 - i;
}
printf("%d\n", strlen(a));
return 0;
}
result: 255
这道题其实有一个陷阱,它的长度并非1000,因为char型长度有限,长度最大为255,所以此题中数组的长度为255,并非定义的1000.
所以我们要注意数据类型的长度。
在32 位的系统上short 的内存大小是2 个byte,int 的内存大小是4 个byte,long 的内存大小是4 个byte,float 的内存大小是4 个byte,double 的内存大小是8 个byte,char 的内存大小是1 个byte,NULL的内存大小是4个byte。