免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7231 | 回复: 2
打印 上一主题 下一主题

[已解决]对函数执行sizeof操作为什么会是这样的结果 [复制链接]

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
1 [报告]
发表于 2008-12-26 20:48 |显示全部楼层
sizeof()对float和int之类的求值没有什么.
sizeof()对void求值因该是非法的.有一些老的编译器对void求sizeof结果是1.

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
2 [报告]
发表于 2008-12-27 14:33 |显示全部楼层
原帖由 samon_fu 于 2008-12-26 21:25 发表
编译这段代码是没有警告的,说明 sizeof(void) 是合法的,其值是 1 。


本身从字面意思上面理解都是不合法的.都是void了,怎么还会有大小??
gcc 4.3.x下面把void直接解释成1了,但是我的VC 8.0下面下面编译就是有错误的.
这种代码还是不要写的好.

[ 本帖最后由 egmkang 于 2008-12-27 14:34 编辑 ]

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
3 [报告]
发表于 2009-01-02 14:37 |显示全部楼层
原帖由 langue 于 2008-12-27 17:43 发表


那是那是
就是因为不一样长才引起很多人的误解嘛。
有的学校还在用老掉牙的 Turbo C,结果教出来的学生一个个对我说,int 的范围是 [-32768, 32767]


那你说说C语言里面int 的范围是多少????
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP