什么是char*argv []以及它与char**argv的相似之处

Mah*_*esh 4 c pointers command-line-arguments

我无法理解char*argv []与char**argv的相似之处.另请告诉我何时使用指针?

fuz*_*fuz 8

声明为具有数组类型的函数参数被静默调整为具有指针类型.因此,如果使用类型参数声明函数int x[],则该参数实际上具有类型int *x.类似地,char *argv[]在函数参数中char **argv,指针数组被调整为指向指针的指针.

  • @Frankie_C不,你错了.对于函数参数,有一个特殊的规则,即声明`T []`和`T*`(甚至`T [N]`)**完全相同.**只适用于函数参数,尽管和FUZxxl没有断言任何其他内容.所以,**他的回答是正确的.** (4认同)
  • @Frankie_C我描述的规则适用于函数参数,参见 ISO 9899:2011§6.7.6.3/ 7. (3认同)
  • @Frankie_C不,我不是说数组和指针是一样的,你不明白我的陈述.我说在函数声明中,`T*`和`T []`意思是一样的. (2认同)