char是整数类型,存储的是整数而不是字符。
char类型被定义为8位的存储单元,C语言把1字节定义为char类型占用的bit数。
char占用一字节,-128 ~ +127
ASCII字符占用一个字节,汉字占用两个字节。
ASCII字符都有特定的值,汉字也一样。
字符串以 ' \0 ' 字符常量结束,所以在数组中,容量要比实际存储数多1。
如:char str[40]; 实际只能存储39个字符
字符串常量 "x" 和字符常量 'x' 区别:
1. 'x'是基本类型(char),而 "x"是派生类型(char数组)
2. "x"是由两个字符组成,'x' 和 '\0'
要在字符串内部使用双引号,必须在双引号前面加上一个反斜杠(\),
如:printf("\"Hello!\"exclaimed Dick");
要注意汉字指针应用,如下例子
char * num = "123456789"; char * chs = "晴天";
num++ 1,2,3,4这样一个个的加
chs++ 不能完整显示汉字 '晴',要chs += 2; 因为汉字占用2个字节
不改变字符串的内容的时候,不要使用指针。