2

我不知道为什么我们总是这样声明

char* name="Srimanth"

代替

char name[]={"Srimanth"}

我对这件事很陌生。所以请在给我答案时更具体..

谢谢你。

4

1 回答 1

4

字符串字面量是一种特殊的、简单的编写数组聚合的形式:您可以编写"hello"而不是{'h', 'e', 'l', 'l', 'o', '\0'}(注意终止的零,它是自动添加的)。

请注意,数组声明不仅是可能的,而且有时是可取的:

char str[] = "hello";
str[0] = 'H'; // OK

允许您修改字符串,而不是

char *str = "hello";
str[0] = 'H'; // Undefined behavior

不允许修改。

于 2013-07-03T10:40:16.083 回答