求数组的长度
例程:
#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。