Dav*_*542 3 c pointers program-entry-point constants
我看到这个main()函数通常被称为:
int main(int argc, char** argv)int main(int argc, char* argv[])int main(void)与这些定义相关:
char** argv和char* argv[]是一个优先于另一个还是可以 100% 互换?argc字符串和参数字符串(应该是?)都是不可变的,为什么它们不是const?或者这是无关紧要的事情,只是出于惯例/历史目的而被省略了?我想这可以通过以下方式完成:const char **argv = (const char **) argv;但很好奇为什么这还没有完成(例如,是否有理由更改收到的参数?)因为它们都是可修改的:
N1570 §5.1.2.2.1/2:
参数 argc 和 argv 以及 argv 数组指向的字符串应可由程序修改,并在程序启动和程序终止之间保留它们最后存储的值。
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |