【问题标题】:What is the difference between `char **argv` and `char** argv`? [duplicate]`char **argv` 和 `char** argv` 有什么区别? [复制]
【发布时间】:2021-03-10 14:10:26
【问题描述】:

我有以下两个 C++ main 函数头:

int main(int argc, char **argv)

int main(int argc, char** argv)

我知道星号* 表示一个指针,但我不明白这两者之间的区别。我通常看到的是char **argv,如果我没记错的话,它声明argv 是指向char 指针的指针。如果是,那char** argv是什么?

【问题讨论】:

  • 没有区别,只是可读性不同。第一个状态更好。
  • 当 C 开发人员在场时,我们的行为就像 char **argv 完全有效,哦,请第 10 次告诉我们,当您在 8088 IBM PC 上开发时,情况如何……但深down C++ 开发人员知道* 是关于类型的信息,因此它属于“TYPE NAME”的左侧;声明格式。

标签: c++


【解决方案1】:

如果是,那么 char** argv 是什么?

如果(也)将argv 声明为指向字符指针的指针。

char **argvchar** argv 有什么区别?

它们之间的区别在于空间的位置。没有其他区别。这些也是一样的:

char**argv

char                         *  *   argv

char
*
*
argv

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-11-09
  • 2022-07-14
  • 2011-07-08
  • 2015-01-28
  • 2018-08-12
  • 2015-10-24
  • 2011-10-24
  • 2012-08-14
相关资源
最近更新 更多