最近几次都遇到了sizeof,但是每次都有一点蒙B的感觉,今天总结一下;

sizeof :

我的理解就是一个表达式或者数组或者一个数据类型所分配的空间大小;

数据类型:sizeof(int a);输出为4;sizeof(char b);输出为1;

之前遇到过sizeof(int ,char)然而不知道输出什么,最后运行了一系列的sizeof,代码:

#include <stdio.h>


void main()
{
int a,h,i,g,x,k,f,s,n;
char c;
char b[5];
h=sizeof(a);//输出为4;
g=sizeof(a,c);//输出为1;
i=sizeof(a,c,b);//输出为4;
k=sizeof(c);//输出为1;
f=sizeof(c,b);//输出为4;
n=sizeof(b);//输出为5;

s=sizeof(a,b);//输出为4;


printf("%d,%d,%d,%d,%d,%d,%d\n",h,g,i,k,f,n,s);


说明一个问题sizeof只执行后面的一个类型,且char 字符高于int 字符 ,int字符高于数组,且char 为1,int 为4,int数组则为数组元素个数乘以4,char数组为数组元素乘以1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值