简单问题:sizeof(char型数组)为数组大小,而不是4, 为什么? 100!

来源:互联网 发布:网络优化出差 编辑:程序博客网 时间:2024/04/27 23:48

转载自:http://topic.csdn.net/t/20030701/23/1979882.html

char   A[10]; 
int   len   =   sizeof(A); 
len的结果是10,而不是sizeof(char   *)的值4?? 
在线等待......


char   *是个指针类型,大小就是4字节~ 
sizeof(数组名)一般不等于sizeof(该数组类型的指针),除非数组有4个元素. 


sizeof的功能就是这样的,对于数组给出数组的字节长度。


sizeof(数组名)   测量出来的   是整个的数组长度   
这是应该值得注意的地方   因为char的长度是1   所以整个长度当然是   10啦 
有关内容见:   C++   PRIMER   
sizeof(char   *)   
如果你想测量指针本身的长度   可以这么写: 
char   *a;   int   i; 
i   =   sizeof(a); 
就可以了。


添一句   sizeof(&A[0]);   可以得到4   这样是char   *的大小~