数组名既能是首地址指针,又能代表整个数组吗?

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:58:55
比如
char array[30];
array="now begging";
汗,这是C++里的,并且这也是正确的

那就是书有问题了

是这样的。
举个例子,char a[10] = "hello"; /*只有这里允许用等号对字符串进行初始化*/
那么,a[1]可以代表'e'这个字符,*(a+1)也代表'e',二者等效。
但你的这段代码无法编译,因为c语言中是不允许字符串被等号直接赋值,除了在定义时可以这样初始化。就跟你不能这样写:
int a[2];
a = {1, 2};
一样。
这里应该写成:
strcpy(array, "now begging");

>> 问题补充:汗,这是C++里的,并且这也是正确的
你为什么认为是正确的?
我可以肯定的告诉你,这是错误的,如果能通过编译,只能说明你的编译器有问题。