为什么在C语言中字符常量占四个字节而字符变量却只占一个字节
4个回答
展开全部
C语言中,字符型 char 变量对应于 ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)。ASCII 码的范围是 0 - 126 (十进制)。 用一个字节表示。所以,字符型 char 变量,占一个字节。
C语言中的常量一般分为两类: 整型常量和浮点数常量。整型常量的默认数据类型是 int 类型( 即有符号整型, 占四个字节 )。字符型常量,不属浮点数常量,而归属于 int 型。所以,字符型 char 常量占四个字节。
扩展资料:
用单撇号括起来的一个字符就是字符常量。如‘a’,‘#’,‘%’,‘D’是合法的字符常量,在内存中占一个字节。字符常量只包括一个字符,如‘AB’是不合法的。字符常量区分大小写字母,如’A’和‘a’是两个不同的字符常量。
C语言允许对整形变量赋予字符值,也允许对字符变量赋整形值。在输出时,允许把字符变量按整形量输出,也允许把整形量按字符量输出。整形量为二字节量,字符量为单字节量,当整形量按字符量处理时,只有低八位字节参与处理。
展开全部
楼主你好~
字符变量是占一个字节,这点已经明白了,可以当做整形数处理。
而字符常量事实上就是一个整形量,只是名叫字符常量而已,所以他占一个整型量的空间,一般是2字节和4字节(看机器)。
字符变量是占一个字节,这点已经明白了,可以当做整形数处理。
而字符常量事实上就是一个整形量,只是名叫字符常量而已,所以他占一个整型量的空间,一般是2字节和4字节(看机器)。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有的事,都占一个字节吧
你试一下下面的程序
#include<stdio.h>
int main()
{
const char a = 'a';
char b = 'b';
printf("%d\n%d\n", sizeof(a), sizeof(b));
return 0;
}
你试一下下面的程序
#include<stdio.h>
int main()
{
const char a = 'a';
char b = 'b';
printf("%d\n%d\n", sizeof(a), sizeof(b));
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该都是占一个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询