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

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

转载于:https://www.cnblogs.com/yang3wei/archive/2012/02/28/2739461.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值