sizeof有话说:“其实你不懂我的心”

先做个选择题:sizeof是关键字还是函数呢?

请看以下这例:

 int i=0;
A),sizeof(int);  B),sizeof(i);  C),sizeof int;  D),sizeof i;
毫无疑问,32 位系统下A),B)的值为4。那C)的呢?D)的呢?

调试后发现,D)也是4,而C)是出错?疑问

因为函数名后面没有括号是不行的哦~所以sizeof是关键字,不是函数~
记住:sizeof  在计算变量所占空间大小时,括号可以省略,
            而计算类型(模子)大小时不能省略。
 
 
小练习:考考你对sizeof掌握了没?得意
 
(以下在32位机系统下eclipse编译) 
int *p = NULL; 
char *q=NULL;
sizeof(p)的值是多少?
sizeof(*p)呢? 
sizeof(q)呢? 
sizeof(*q)呢? 
int a[100]; 
sizeof (a) 的值是多少? 
sizeof(a[100])呢?   
sizeof(&a)呢? 
sizeof(&a[0])呢? 
int b[100]; 
void fun(int b[100]) 

sizeof(b); // sizeof (b) 的值是多少? 
 
不同编译环境可能有所不同,欢迎跟帖交流~
( ⊙ o ⊙ )啊!答案在下面哦~
 
答案:
sizeof(p)=4
sizeof(*p)=4
sizeof(q)=4
sizeof(*q)=1
sizeof(a)=400
sizeof(a[100])=4
sizeof(&a)=4
sizeof(&a[0])=4
sizeof(b)=4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值