简单问题: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 *的大小~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值