一、概念
/*
计算机只能识别0和1 'a' 通过ASCII码表 获取一个值 转换成二进制
在C语言中, 不看怎么存, 只看怎么取
char类型 在某些情况下 可以当做整型来用
如果对内容要求特别严格,而且需要存储的整数 不超过char类型的取值范围,那么就可以使用char类型来代替int类型
-2(7)~2(7) - 1 = -128 ~ 127
char c =128; // 打印出来 -128 因为超出了范围
*/
二、代码
#include <stdio.h>
int main()
{
#pragma 1.研究的问题 : char类型的变量 在内存中是如何存储的?
// char 1个字节
int num;
char charValue;
charValue = 'a'; // 计算机只能识别0和1 通过ASCII码表
// a = 97 = 0110 0001
int size = sizeof(charValue);
printf("%i\n",size);
printf("num = %p\n",&num); // 0x7fff5fbff768
printf("charValue = %p\n",&charValue); // 0x7fff5fbff767
// 在C语言中, 不看怎么存, 只看怎么取
printf("%c\n",charValue);
printf("%i\n",charValue);
#pragma 2.字符6 和 数字6就是完全不相同的两个数
char c1 = 6; // 0000 0110
char c2 = '6'; // 54 = 0011 0110
printf("%i\n",c1);
printf("%i\n",c2);
// char类型 在某些情况下 可以当做整型来用
// 如果对内容要求特别严格,而且需要存储的整数 不超过char类型的取值范围,那么就可以使用char类型来代替int类型
// -2(7)~2(7) - 1 = -128 ~ 127
char c =128; // 1000 0000
printf("%i\n",c);
return 0;
}