简述在C语言中, 计算各数据类型所占据的字节数的方法

简述在C语言中, 计算各数据类型所占据的字节数的方法在C语言中,检测某一个数据类型所占据的内存大小,也即:所占据的内存中的字节数,可以使用一个关键字来检测,sizeof,这个关键字,是一个运算符。

欢迎大家来到IT世界,在知识的湖畔探索吧!

C语言中,数据类型分为:基本数据类型,和复杂数据类型。基本数据类型包括:int、long、short、char、folat、double;复杂数据类型有:数组、结构体、枚举体。此外,还有一个较为特殊的数据类型:指针。

在C语言中,检测某一个数据类型所占据的内存大小,也即:所占据的内存中的字节数,可以使用一个关键字来检测,sizeof,这个关键字,是一个运算符,与加(+)减(-)乘(*)除(/)是一样的,都属于运算符。

我们可以写一段程序,来检测各个数据类型,所占据的内存中的字节个数,程序代码如下图所示:

简述在C语言中, 计算各数据类型所占据的字节数的方法

C语言示例代码

上述C语言程序中,第23行和第24行,就是在计算各个数据类型所占据的字节数,使用了sizeof关键字。最终,计算出来的结果如下图所示:

简述在C语言中, 计算各数据类型所占据的字节数的方法

C语言示例代码的执行结果

我们可以看到,上述结果就是示例代码中,各个数据类型所占据的字节数。

变量a是整型(int),占据4个字节;变量b是短整型(short),占据2个字节;变量c是字符型(char),占据1个字节;变量e是单精度浮点型(float),占据4个字节;变量f是双精度浮点型(double),占据8个字节;变量g属于自定义的一个数据类型,来源于结构体stu,它所占据的字节数是16

其中,结构体变量g的总体占据的字节数,本来应该是:sizeof(int)+sizeof(char)+sizeof(double) = 4+1+8=13,但是上面程序所示结果为16,这是因为有一个“内存地址对齐”的概念,比如:第一个int型变量的起始位置为0x0000,那么第二个char类型变量的起始位置是0x0004,第三个double类型的变量起始位置是0x0008,而double型变量的结束位置是:0x000F,所以,整个结构体变量g的内存位置是:0x0000到0x000F,加起来一共是16个字节数。

在不同的系统上,有的数据类型所占据的字节数不一样。比如,在32位系统上,int型数据所占据的字节数是4,long类型数据所占据的字节数是4;在64位系统上,int型数据占据4个字节,long类型数据占据8个字节;在16位系统上,int型数据占据2个字节,long类型数据占据4个字节。

获取方式:

1.在你手机的右上角有【关注】选项,或点击我的头像,点击关注!(关注我)

2.关注后,手机客户端点击我的主页面,右上角有私信,请私信发我:编程

电脑已经设置好了关键词自动回复,自动领取就好了!这几天上万个消息,真的回复不过来,所以回复的时候请注意关键词!

其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里请私信我“编程”不管你是小白还是大牛欢迎入住大家一起交流成长。小编会在里面不定期分享干货源码,包括我精心整理的一份c++零基础教程。欢迎各位感兴趣的的小伙伴。

学习思路:

简述在C语言中, 计算各数据类型所占据的字节数的方法

学习资料:

简述在C语言中, 计算各数据类型所占据的字节数的方法

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35692.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信