1,求字符数组长度
strlen只计算到\0为止,sizeof即使不关心\0,返回数组占用内存长度
2,若是数组,返回内存长度,若是指针,只返回指针值长度(通常是8)
int a[]={2,3,4}
sizeof(a)输出12
void func(int * a){
sizeof(a)输出8
}
3,sizeof是操作符, 不是函数。如果是类型必须加括弧,如果是变量名可以不加括弧。
sizeof(int)
sizeof a
4,数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址,
5,sizeof不能求得void类型的长度,但能求得void类型的指针的长度
6,sizeof不能求得动态分配的内存的大小,但能求得静态分配内存的数组的长度
7,sizeof可以对函数调用求大小,并且求得的大小等于返回类型的大小,但是不执行函数体
http://blog.csdn.net/w57w57w57/article/details/6626840