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

时间:2013-07-03 10:35:31

标签: c string pointers character

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

char* name="Srimanth"

而不是

char name[]={"Srimanth"}

我对这件事情不熟悉。所以,当你给我一个答案时,请更具体。

谢谢。

1 个答案:

答案 0 :(得分:4)

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

请注意,不仅可以使用数组声明,而且有时需要:

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

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

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

不允许修改。