C语言并无char类型,就是用Int表示char的!char占一个字节,在C语言所有类型中最小。
char *占4字节(32位),8字节(64位)
在C语言中,实际上字符型数据在内存中是以二进制形式存放的,并不是真正的把一个字符存进内存里。在对字符型数据进行相加减运算的时候,系统会首先会将char型数据以隐形的方式转化成int型数据再进行相加减运算的。因此,由字符型数据在内存的存储方式来看,字符型数据是可以进行数值运算的,对字符型数据做数字运算实际上就是对字符本身对应的ASSIC码进行相应的数值运算。
然后 “ 整型”和“字符型”可以互相转换:
(char)整型变量=字符型变量
(int)字符型变量=整型变量
其实 字符型和整型比只是更省内存而已
1.整型和char数据类型的联系
《C语言入门经典(第四版)》
《C语言教程(原书第四版)》
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
char c;
int i;
for(i='a';i<='z';++i)
printf ("%c", i);
printf ("\n");
for(c=65;c<=90;++c)
printf ("%c", c);
printf ("\n");
for(c='0';c<='9';++c)
printf ("%d ", c);
}
既然char和Int本质都是整数,为什么还要做区分?
《ANSI C应用程序设计》
2.整型提升
《C程序设计语言(第2版 新版)》
3.char和int转换
unsigned char 是0-255之间 char是-128-127