C语言char s[] 和 char *s的差别

C语言char s[] 和 char *s的差别,以下这个回答解说的非常清晰。

The difference here is that

char *s = "Hello world";

will place Hello world in the read-only parts of the memory and making s a pointer to that, making any writing operation on this memory illegal. While doing:

char s[] = "Hello world";

puts the literal string in read-only memory and copies the string to newly allocated memory on the stack. Thus making

s[0] = 'J';
legal.

来自  http://stackoverflow.com/questions/1704407/what-is-the-difference-between-char-s-and-char-s-in-c
posted @ 2016-01-27 11:04  phlsheji  阅读(356)  评论(0编辑  收藏  举报