猿问

C 语言 char 是占几个字节 多少位?

问题描述

在C Primer Plus这本书中产生几个疑问,原文内容大概如下:
字节是计算机常用的存储单位,对于所有的机器,1字节均为8位,这是字节标准定义,至少在衡量存储单位是这样的(但是,C 语言对此不同的定义)一般而言 C 语言会保证 char类型足够大,以储存系统(实现C语言的系统)的基本字符集.

我的疑问是char 在C中一定是8位? char 与 byte 什么关系?

期待的结果是给出结论同时给出参考内容,以及思考过程,这比结论更有价值.


吃鸡游戏
浏览 6134回答 1
1回答

波斯汪

标准规定char最少8位而且一般就是8位,POSIX也要求char必须是8位你当然可以实现一个c编译器,将char实现为16位或更多,但是相应的其他整数类型也要调整,而且这样一来与POSIX标准也不再兼容所以一般没人这么干所以一般把char当成8位来用不会有什么问题,特殊情况下为了保险起见可以检查CHAR_BIT
随时随地看视频慕课网APP
我要回答