一、问题
'a'与"a"有什么不同?
二、解答
'a'为字符常量,"a"为字符串常量。
字符常量与字符串常量的差别:
(1)定界符的使⽤不同
字符常量使⽤的是单引号,⽽字符串常量使⽤的是双引号;"a" 是字符常量,⽽"a"是字符串常量。
上述赋值是正确的,但是下⾯的赋值都是错误的
char b;
b="a";
或者
b="Hello";
注意:
编写C语⾔程序的时候,千万不要把⼀个字符串常量赋值给⼀个字符变量,否则会造成字符丢失。
(2)长度不同
字符常量只能有⼀个字符,也就是说,字符常量的长度为1。⽽字符串常量的长度却可以是0,即使字符串常量中的字符数量也只有1个,但是长度却不是1。字符串常量"a",其长度为2。
为什么字符串常量“a”的长度为2?
这是因为系统会⾃动在字符串常量尾部加上⼀个转义字符'\0',作为结束标志,故"a" 的长度是2,
⽽'a' 的长度是1。
(3)存储的⽅式不同
在字符常量中存储的是字符的 ASCII 码值,⽽在字符串常量中,不仅要存储有效的字符,还要存储结尾处的结束标志 '\0'。
三、总结
字符与字符串的本质区别:文章来源:https://www.toymoban.com/news/detail-802350.html
字符常量是单个字符,⽽字符串可以是单个字符,也可以是多个字符。文章来源地址https://www.toymoban.com/news/detail-802350.html
需要注意的是,不要将单引号和双引号弄混了,因为⽤单引号括起来的⼀个字符代表⼀个整数,⽽⽤双
引号括起来的⼀个字符代表⼀个指针。若将两者混⽤,将产⽣难以预料的错误。
到了这里,关于C语言字符与字符串的差别有哪些?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!