C语言字符与字符串的差别有哪些?

发布时间:2024年01月15日

一、问题

????????'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://blog.csdn.net/W_Fe5/article/details/135596408
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。