在Jens Gustedt撰写的《 Modern C 》一书中,一些示例代码片段声明了以下主要功能:
int main ( int argc , char * argv [ argc +1]) {...
这是我第一次看书或教程。
argv[]
并使用
argv[argc + 1]
?
我的理解是,将自动创建足够大的数组argv
来容纳指向该程序自变量的所有指针,因此我看不到本书代码的用途。
答案 0 :(得分:4)
argc存储用户传递的命令行参数数量,包括程序名称。 argv是列出所有参数的字符指针数组。它包含指向字符串的指针。这里argv []和argv [argc + 1]除了在argv [argc + 1]中显式显示大小外没有其他区别。使用第一个是作为代码的自我文档形式。它告诉程序员该函数具有先决条件。 argv指针应指向该长度数组的第一个元素。 argv是空指针终止。