(目录)
char是如何存储的
字符型(char)用于储存字符(character),如英文字母或标点。但是char
类型在内存中并不是以字符的形式储存,而是以ASII码的形式储存,也可以说char
类型储存的实际上是整数。所以char
类型也被归类为整形家族。
int main()
{
char c = 'A';
printf("%d\n", c);
printf("%c\n", c);
return 0;
}
从上面的代码可以看出,因为char类型储存的是整形,所以可以以正数的形式打印出 打开内存窗口,也可以看出
char
是以整数的形式存储:
既然知道char
实际上是整形,所以也可以用int
类型对char
类型赋值
int main()
{
char c = 65;
printf("%d\n", c);
printf("%c\n", c);
return 0;
}
以
%d
输出就是输出存储在内存中的整形,以%c
输出就会输出初始化时整数对应的ASKII码字符
其实关于由int
类型对char
赋值,以及对于char
类型之间的运算,其实都会经历一个操作叫做:整形提升
,整形提升的详细介绍在另一篇文章里