i++与++i的区别及sizeof的用法

i++与++i的区别

1 )i++是先取i的值,在进行加一操作;++i是先加一,在取加一后i的值;

2)++i可作为左值,i++不可作为左值。

     原因:++i是将自身的加一赋值给新变量,同时自身也加一;而后置++是将自身的值赋给一个临时空间,然后自身                   加1。我们都知道,左值是允许取地址&运算符获得相应的内存地址,而i++返回的i是一个临时变量,临时变量                 是右值,且具有常性,只可读不可写入,所以自然不能被赋值,而作为左值。


sizeof在C语言中得用法:

判断数据类型长度符的关键字,作用是返回一个对象或者类型所占的内存字节数。

sizeof(类型,数组名,表达式)或者sizeof(变量名)

有三种语法形式:

1)sizeof(对象);

2)sizeof(类型);

3)sizeof 对象;

sizeof的特点:c99标准下执行

1)sizeof可以对一个函数调用求值,结果是函数返回类型的大小,函数不会被调用;

2)sizeof的常量性,他可被当作常量表达式使用;

3)指针变量的sizeof:它与指针指向的对象没有关系,而是表示计算机系统地址总线的宽度。如32为系统中指针变量的sizeof结果为4;

4)数组的sizeof:它等于数组所占用的内存的字节数。

5)结构体的sizeof:这个比较复杂,它的结果等于对象或者类型所占的字节数,但是,这与编译器有关,并且设计字节对齐的知识,不多讨论。

6)联合体的sizeof:联合体和结构体不同,他是重叠式,sizeof结果表示成员中sizeof的最大值。














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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值