gpt4 book ai didi

c - 为什么数组名argv可以赋值?

转载 作者:太空狗 更新时间:2023-10-29 17:07:18 25 4
gpt4 key购买 nike

众所周知,数组名不能赋值,语句如:

char * array[], * point;
array = point; /* wrong */
array++; /* wrong */

但是在 main(int argc, char * argv[]) 中,argv++ 是可以的并且运行良好。我错过了什么?

最佳答案

在您的示例中,array 是一个真正的数组,因此是一个不可修改的左值。在 main 中,由于它是在参数列表中声明的,argv 实际上是一个 char **,即一个可修改的指针。

归根结底,char *array[] 的含义不同,具体取决于上下文。

关于c - 为什么数组名argv可以赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13500603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com