C语言参数传递——数据与内存宽度

如下图所示,将参数定义为char类型并不会节省空间,依然会按照4字节压栈传参。最后一行的堆栈平衡也很明显的。

本机尺寸:如果本机是32位的,那么对32位的数据支持最好,如果是64位的,那么对64位的支持最好。编译器也遵守了这个规则。

然而在对待数组时则不是如此。在x86架构下,int类型数组按照4字节为单位分配空间不变。char数组为分配内存的基本单位是一个字节,然而元素个数不是4的整倍数时,最后一个元素的4字节空间会有剩余,总体空间大小也会是4的整倍数。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值