C++中单引号、双引号的区别为:表示类型不同、数据长度不同、尾部不同。
一、表示类型不同
1、单引号:单引号的表示类型为字符类型。
2、双引号:双引号的表示类型为字符串类型。
二、数据长度不同
1、单引号:单引号的数据长度固定,因为只有一个字符,所以数据长度为1。
2、双引号:双引号的数据长度不固定,由字符串的字符数量决定。
三、尾部不同
1、单引号:单引号只有一个字符,不会在字符尾部添加'\0'结尾。
2、双引号:系统会将双引号里的字符串内容的尾部自动添加'\0'结尾。
单引号里的内容表示是字符,双引号里的内容表示是字符串,每个字符串都有一个'\0'结束符。在C++中sizeof('a')=1,它是占一个字节,sizeof("a")=2,它后面还有一个\0结束符;而在C语言中,sizeof('a')=4(字符在C语言中是用int型数据存储的)。
"a"和'a'的区别,前者是字符串,后者是字符。
实际上,"a"在内存中一般占2个字节(不是说字符串长度,是占用内存。注意说是一般占2字节,有特殊情况),"a\0",以'\0'结尾。
而'a'是一个单字符。
当然字符串可以是"abcde"这样的,'abcde'这样就是错误的。。。
1楼正解。