现在的位置: 首页 > 综合 > 正文

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

2018年01月29日 ⁄ 综合 ⁄ 共 419字 ⁄ 字号 评论关闭

转载自: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   *的大小~

抱歉!评论已关闭.