c-为什么使用字符指针声明或定义字符串



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

char* name="Srimanth"

而不是

char name[]={"Srimanth"}

我对这件事很陌生。所以在你给我答案的时候,请更具体一点。。

谢谢。

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

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

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

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

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

这不允许修改。

最新更新