LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1526|回复: 6

char定义的变量大小就是一个byte?

[复制链接]
发表于 2006-2-21 13:40:26 | 显示全部楼层 |阅读模式
malloc分配内存单位按byte算的,char定义的变量大小就是一个byte?
发表于 2006-2-21 15:05:59 | 显示全部楼层
是的,因为 sizeof(char) 总是返回 1,而 sizeof 运算符生成的是它的操作数的大小,以字节计。
回复 支持 反对

使用道具 举报

发表于 2006-2-21 16:38:05 | 显示全部楼层
sizeof(char) 为 1 是 C 标准规定的
回复 支持 反对

使用道具 举报

发表于 2006-2-25 11:08:22 | 显示全部楼层
C标准规定
char衡为一个byte
回复 支持 反对

使用道具 举报

发表于 2006-2-26 00:01:48 | 显示全部楼层
Post by heheukyo
C标准规定
char衡为一个byte

C只是规定char不能小于一个byte。
回复 支持 反对

使用道具 举报

发表于 2006-2-26 01:01:56 | 显示全部楼层
参考
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf

Section 6.5.3.4

2 The sizeof operator yields the size (in bytes) of its operand, which may be an
expression or the parenthesized name of a type.

3 When applied to an operand that has type char, unsigned char, or signed char,
(or a qualified version thereof) the result is 1.
回复 支持 反对

使用道具 举报

发表于 2006-2-26 12:39:43 | 显示全部楼层
我又记错了!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表