问题描述在C Primer Plus这本书中产生几个疑问,原文内容大概如下:字节是计算机常用的存储单位,对于所有的机器,1字节均为8位,这是字节标准定义,至少在衡量存储单位是这样的(但是,C 语言对此不同的定义)一般而言 C 语言会保证 char类型足够大,以储存系统(实现C语言的系统)的基本字符集.我的疑问是char 在C中一定是8位? char 与 byte 什么关系?期待的结果是给出结论同时给出参考内容,以及思考过程,这比结论更有价值.
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
标准规定char最少8位
而且一般就是8位,POSIX也要求char必须是8位
你当然可以实现一个c编译器,将char实现为16位或更多,但是相应的其他整数类型也要调整,而且这样一来与POSIX标准也不再兼容
所以一般没人这么干
所以一般把char当成8位来用不会有什么问题,特殊情况下为了保险起见可以检查
CHAR_BIT
- 1 回答
- 0 关注
- 6133 浏览
添加回答
举报
0/150
提交
取消