我已阅读libc参考文档中关于
话虽如此,为什么标准是
我的意思是,为什么要有一个数组(char **argv),它们不是程序所拥有的,并且在运行时可能会被更改/移动,而不是通过定义无法在没有程序同意和适当处理(例如通过信号)的情况下修改内存呢?我错过了什么吗?
int main (int argc, char *argv[])
的内容,以及C++ ISO文档当前工作标准中第3.6.1节“主函数”的相关内容。我也阅读了很多关于引用的文章。我知道它们不能被重新赋值,必须只有一层深等等。话虽如此,为什么标准是
int main (int argc, char *argv[])
而不是int main (int argc, char * &argv)
,这样就可以将其视为一个“数组”/数据块,其中保存了参数的引用?我的意思是,为什么要有一个数组(char **argv),它们不是程序所拥有的,并且在运行时可能会被更改/移动,而不是通过定义无法在没有程序同意和适当处理(例如通过信号)的情况下修改内存呢?我错过了什么吗?
char * &argv
是一个对单个字符数组的引用,而不是所有参数。 - Red Alert