????????'a'与"a"有什么不同?
? ? ? ? 'a'为字符常量,"a"为字符串常量。
字符常量与字符串常量的差别:
?????????字符常量使?的是单引号,?字符串常量使?的是双引号;"a"?是字符常量,?"a"是字符串常量。
上述赋值是正确的,但是下?的赋值都是错误的
char b;
b="a";
或者
b="Hello";
注意:
编写C语?程序的时候,千万不要把?个字符串常量赋值给?个字符变量,否则会造成字符丢失。
????????字符常量只能有?个字符,也就是说,字符常量的长度为1。?字符串常量的长度却可以是0,即使字符串常量中的字符数量也只有1个,但是长度却不是1。字符串常量"a",其长度为2。
为什么字符串常量“a”的长度为2?
这是因为系统会?动在字符串常量尾部加上?个转义字符'\0',作为结束标志,故"a"?的长度是2,
?'a' 的长度是1。
????????在字符常量中存储的是字符的 ASCII 码值,?在字符串常量中,不仅要存储有效的字符,还要存储结尾处的结束标志 '\0'。
字符与字符串的本质区别:
????????字符常量是单个字符,?字符串可以是单个字符,也可以是多个字符。
需要注意的是,不要将单引号和双引号弄混了,因为?单引号括起来的?个字符代表?个整数,??双
引号括起来的?个字符代表?个指针。若将两者混?,将产?难以预料的错误。