/unix21/article/details/8606684
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