可能重复:
What is the difference between char s[] and char *s in C?
Question about pointers and strings in Cchar * str =“...”和char str [N] =“...”之间的区别?
我阅读在C字符串和我很困惑。我可以用两种方法“声明”字符串:
char *str = "This is string";
char str2[20] = "This is string";
这两个声明之间有什么区别? char str2[20]
何时会优于char *str
?
http://c-faq.com/decl/strlitinit.html – cnicutar
http://www.cs.bu.edu/teaching/cpp/string/array-vs-ptr/ – amitchhajer
阅读[差异在'char * str'和'char str []'之间以及如何在内存中存储?](http://stackoverflow.com/questions/15177420/what-does-sizeofarray-return/15177499#15177499) –