为什么在C语言中字符常量占四个字节而字符变量却只占一个字节

 我来答
仁昌爱娱乐
高粉答主

2020-01-03 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459855

向TA提问 私信TA
展开全部

C语言中,字符型 char 变量对应于 ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)。ASCII 码的范围是 0 - 126 (十进制)。 用一个字节表示。所以,字符型 char 变量,占一个字节。

C语言中的常量一般分为两类: 整型常量和浮点数常量。整型常量的默认数据类型是 int 类型( 即有符号整型, 占四个字节 )。字符型常量,不属浮点数常量,而归属于 int 型。所以,字符型 char 常量占四个字节。

扩展资料:

用单撇号括起来的一个字符就是字符常量。如‘a’,‘#’,‘%’,‘D’是合法的字符常量,在内存中占一个字节。字符常量只包括一个字符,如‘AB’是不合法的。字符常量区分大小写字母,如’A’和‘a’是两个不同的字符常量。

C语言允许对整形变量赋予字符值,也允许对字符变量赋整形值。在输出时,允许把字符变量按整形量输出,也允许把整形量按字符量输出。整形量为二字节量,字符量为单字节量,当整形量按字符量处理时,只有低八位字节参与处理。

百度网友01136f8
推荐于2017-11-25 · TA获得超过906个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:187万
展开全部
楼主你好~

字符变量是占一个字节,这点已经明白了,可以当做整形数处理。

而字符常量事实上就是一个整形量,只是名叫字符常量而已,所以他占一个整型量的空间,一般是2字节和4字节(看机器)。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gcc2012
2012-12-23 · TA获得超过244个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:92.4万
展开全部
没有的事,都占一个字节吧
你试一下下面的程序
#include<stdio.h>
int main()
{
const char a = 'a';
char b = 'b';
printf("%d\n%d\n", sizeof(a), sizeof(b));
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cenxiaomai
2012-12-23 · TA获得超过544个赞
知道小有建树答主
回答量:172
采纳率:66%
帮助的人:32万
展开全部
应该都是占一个字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式