Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我不知道为什么我们总是这样声明
char* name="Srimanth"
代替
char name[]={"Srimanth"}
我对这件事很陌生。所以请在给我答案时更具体..
谢谢你。
字符串字面量是一种特殊的、简单的编写数组聚合的形式:您可以编写"hello"而不是{'h', 'e', 'l', 'l', 'o', '\0'}(注意终止的零,它是自动添加的)。
"hello"
{'h', 'e', 'l', 'l', 'o', '\0'}
请注意,数组声明不仅是可能的,而且有时是可取的:
char str[] = "hello"; str[0] = 'H'; // OK
允许您修改字符串,而不是
char *str = "hello"; str[0] = 'H'; // Undefined behavior
不允许修改。