gpt4 book ai didi

c - 原因 main-C 不是 const

转载 作者:行者123 更新时间:2023-12-03 23:59:23 24 4
gpt4 key购买 nike

我看到 main() 函数通常称为:

  • int main(int argc, char** argv)
  • int main(int argc, char* argv[])
  • int main(void)

与这些定义相关:

  1. 从技术上讲,对于 char** argvchar* argv[] 是一个优先于另一个,或者它们是 100% 可互换的?
  2. 因为 argc 和参数字符串(应该是?)都是不可变的,为什么它们不是 const ?还是这无关紧要,只是出于惯例/历史目的而被省略?我想这可以通过以下方式完成: const char **argv = (const char **) argv; 但很好奇为什么这还没有完成(是否有理由改变收到的参数,例如?)

最佳答案

因为它们都是可修改的:

N1570 §5.1.2.2.1/2:

The parameters argc and argv and the strings pointed to by the argvarray shall be modifiable by the program, and retain their last-storedvalues between program startup and program termination.

关于c - 原因 main-C 不是 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63999028/

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