gpt4 book ai didi

c - char * argv[] 是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 16:37:17 26 4
gpt4 key购买 nike

我是 C 编程的新手,我遇到了一个问题。
对于复杂的声明,我发现了这个

int *daytab[13]; // daytab is an array of 13 pointers to int

表示daytab是数组名,数组名指向数组的第一个元素。数组名称与 daytab++ 等指针操作不兼容(如果我错了请纠正我)。

但我发现这段代码是丹尼斯里奇写的

main(int argc, char * argv[]) {
while( --argc > 0 )
printf("%s%s",*++argv,(argc>1) > " " : "");

printf("\n");
return 0;
}

他们如何操纵argv?不是数组名吗?

最佳答案

参数 char * argv[] 衰减为指针,char ** argv。您同样可以将 main() 的函数签名编写为:

int main(int argc, char ** argv)

你可以在 main() 中用指针 argv 做你喜欢的事,所以 argv++ 例如只是颠簸 argv 指向 argv[1] 而不是 argv[0]

argv ---> argv[0] ---> "program"
argv[1] ---> "arg1"
argv[2] ---> "arg2"
... ...
argv[argc] == NULL

关于c - char * argv[] 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16666353/

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