char *message = "Hello World!";我们知道是把字符串中第一个字符的地址赋值给message。
而char s[ ] = "Hello World!"这句是什么意思?是数组中存了Hello World!还是数组中存了H的地址。对于正确的情况,数组中是怎么存的啊?
char s[ ];
s = "Hello World!"这个怎么错了呢?你说用到s的地方取他的首地址啊,怎么不能赋值呢?
char s[];应当写成char *s;
char s[];首先是数组没有定义元素个数,其次如果定义数组的话s就不是变量了,无法进行赋值,s只是数组起始地址的别称,s[0],s[1],...才是变量
嗯,,我刚知道了,数组可以在定义的时候初始化,如果先定义在赋值就不行了。只能用串拷贝了。。谢谢!