C语言中单引号与双引号的区别

发布于 / C语言 / Comments Off on C语言中单引号与双引号的区别

首先吐槽一发。。。PHP写多了,平时单双引号也不怎么分,遇到变量名直接拼接字符串,酿成了恶果,造成C语言单双引号不区分。。

而C语言单双引号的区别还是很大的,符号用错很有可能造成编译不通过。例如:

char str1[] = "string";
char str = 's';

可以在编译器上试试,引号出现错误,比如  char str = "s";  ,g++编译器会返回错误:

[Error] invalid conversion from 'const char*' to 'char' [-fpermissive]


翻译过来就是本来是本来是char类型的变量,但是你赋值给的是const char*,编译器无法接受。


所以C语言中,双引号表示的是字符数组,在你给一个变量赋值时,用双引号进行赋值实质上是赋给了一个数组,而且C语言会自动帮你在数组后面添加一个 \0 ,表示字符串结束。数组不能赋值给char变量,否则无法编译。


单引号表示的是单个字符。可以赋给char变量。

转载原创文章请注明,转载自: 斐斐のBlog » C语言中单引号与双引号的区别
评论已关闭