为什么要argv
声明为“指向数组第一个索引的指针”,而不是仅仅声明为“指向数组第一个索引的指针” char* argv
?
为什么在这里需要“指针指向”的概念?
char* argv[]
将空间放置在错误的位置。说char *argv[]
,现在很明显这意味着“表达式*argv[n]
是类型的变量char
”。不要陷入试图找出什么是指针,什么是指向指针的指针等等的问题。该声明告诉您可以对此事执行哪些操作。
char * argv[]
与类似的C ++结构进行心理比较std::string argv[]
,它可能更易于解析。...只是不要开始以这种方式实际编写!
char &func(int);
其中使用例如不&func(5)
具有type的示例char
。
char* argv[]
or 的正确描述char**
。那是指向字符的指针。具体来说,外部指针指向数组中的第一个指针,内部指针指向以nul终止的字符串的第一个字符。这里没有索引。