|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 想请教一个 sizeof() 返回值的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3762
人关注过本帖,
2
人收藏
标题:
想请教一个 sizeof() 返回值的问题
只看楼主
加入收藏
madfrogme
等 级:
版主
威 望:
21
帖 子:1160
专家分:1106
注 册:2009-6-24
结帖率:
98.63%
楼主
收藏
(2)
已结贴
√
问题点数:5 回复次数:8
想请教一个 sizeof() 返回值的问题
在Mac 中 需要用 %lu 来 输出 sizeof() 的結果,而不可以用%d
在Linux 中不能用 %lu来输出 sizeof()的結果,可以用%d 或%u
两个机器中我用的都是gcc编译器,
得知sizeof()的返回值类型是size_t
难道不同OS对size_t的定义不一样吗?
在哪个文件里可以看到它的定义?
搜索更多相关主题的帖子:
编译器
Linux
2012-01-26 22:33
举报帖子
使用道具
赠送鲜花
fourleaves
等 级:
论坛游民
帖 子:194
专家分:99
注 册:2010-5-8
第
2
楼
收藏
得分:2
sizeof是返回数据类型的字节数吧,至于用%lu,%d只是一种规定吧,就像1用中文说是一,用英文说是one只是命名不一样而已~,意义一样~.、
以上纯属个人看法。
收到的鲜花
madfrogme
于
2012-01-26 23:00
送鲜花
2朵
再复杂的问题也基于最简单的原理。耐心,耐心!丰富自己!等待时机!
2012-01-26 22:57
举报帖子
使用道具
赠送鲜花
madfrogme
等 级:
版主
威 望:
21
帖 子:1160
专家分:1106
注 册:2009-6-24
第
3
楼
收藏
得分:0
回复 2楼 fourleaves
谢谢你
The quieter you become, the more you can hear
2012-01-26 23:02
举报帖子
使用道具
赠送鲜花
beyondyf
等 级:
贵宾
威 望:
103
帖 子:3282
专家分:12654
注 册:2008-1-21
第
4
楼
收藏
得分:2
有意思,size_t的定义在stddef.h里,GCC里是long unsigned int
重剑无锋,大巧不工
2012-01-26 23:11
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
5
楼
收藏
得分:2
事實上,sizeof()的值正是跟機器有關,編譯器在為該機器定制時就可以確定內置數據類型的長度和“字對齊”法則,所以sizeof()其實不用在運行時計算,而是在編譯階段就當常量一樣“翻譯”好了。sizeof()也不是函數,可以不用圓括號的,它是對“數據類型”求值,比如int i,我們寫的是sizeof(i),但編譯器處理的是sizeof(int),即用表達式的結果類型求值。size_t必定是unsigned類型的,但具體是int還是long,卻由編譯器決定(書上說是由實現定義)。
[
本帖最后由 TonyDeng 于 2012-1-26 23:26 编辑
]
收到的鲜花
madfrogme
于
2012-01-26 23:32
送鲜花
3朵
授人以渔,不授人以鱼。
2012-01-26 23:19
举报帖子
使用道具
赠送鲜花
madfrogme
等 级:
版主
威 望:
21
帖 子:1160
专家分:1106
注 册:2009-6-24
第
6
楼
收藏
得分:0
回复 4楼 beyondyf
感謝斑竹提供线索
The quieter you become, the more you can hear
2012-01-26 23:31
举报帖子
使用道具
赠送鲜花
madfrogme
等 级:
版主
威 望:
21
帖 子:1160
专家分:1106
注 册:2009-6-24
第
7
楼
收藏
得分:0
回复 5楼 TonyDeng
感謝斑竹提供的情报
The quieter you become, the more you can hear
2012-01-26 23:34
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
8
楼
收藏
得分:0
" border="0" />
授人以渔,不授人以鱼。
2012-01-26 23:36
举报帖子
使用道具
赠送鲜花
madfrogme
等 级:
版主
威 望:
21
帖 子:1160
专家分:1106
注 册:2009-6-24
第
9
楼
收藏
得分:0
回复 8楼 TonyDeng
谢谢,原来C99不需要为了确保安全强制转换,受教了
The quieter you become, the more you can hear
2012-01-26 23:46
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
想请教一个 sizeof() 返回值的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.033466 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved