C语言sizeof函数如何使用?

 我来答
蝈蝈蝈蝈813
2018-04-04 · TA获得超过9690个赞
知道小有建树答主
回答量:356
采纳率:85%
帮助的人:15.5万
展开全部

C语言中的sizeof是一个很有意思的关键字,经常有人用不对,搞不清不是什么。我以前也有用错的时候,现在写一写,也算是提醒一下自己吧。反正现在来看,还在搞sizeof是什么意思,怎么用正确,还是有点搞笑,都经常用的东西,没有理解透彻,就差的太远了。

一  sizeof是什么

sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等,sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。这个操作数不好理解对吧?后面慢慢看就明白了。sizeof的返回值是size_t,在64位机器下,被定义为long unsigned int。

二 sizeof如何使用

1、用于数据类型

使用形式: sizeof(type)。其中type如int 、double等。 例如sizeof(int)、sizeof(char*)、sizeof(double)。这个时候sizeof后面的类型必须用括号()包起来,不包起来是错误的,通过不了编译。其中sizeof(void*)在64位下是8,而sizeof(void)是1。其实,在C语言中sizeof(函数),

如sizeof(main),结果也是1。但是在C++中,sizeof(void)和sizeof(函数)都是非法的,通过不了编译,后面C++就不说了,现在讲C嘛。其实sizeof(函数),sizeof(void)虽然是1,但是是不正确的使用方式。

2、用于变量 

使用形式: sizeof(var)或sizeof var。当操作基本数据类型的时候,在我64位电脑的结果如下

作用是:计算常量、变量、数据类型 在内存中占用的字节数

三、用sizeof计算常量在内存中占用的字节数

sizeof(1) 计算常量 1 在内存中占用的字节数   4

1 默认的事一个10进制的整数(int) 4

sizeof(2.3f); 计算 float类型的常量在内存中占用的字节数 4

sizeof(2.3);  计算 double 类型的常量在内存中占用的字节数 8

sizeof('a');  计算 'a' 字符常量 在内存中占用的字节数  1  4?

偶璧以力勤
2020-02-16 · TA获得超过4124个赞
知道大有可为答主
回答量:3143
采纳率:32%
帮助的人:192万
展开全部
sizeof是计算大小的。所以是8么,因为double在一般的机子里是8位的,float是4位的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式