如果我使用 char *s[]
,我可以执行以下操作:
char *s[] = {"foo", "bar", "foobar", "whatever", "john", "doe"};
**s
有什么区别?在这种情况下,如何使用 char **s
而不是 char *s[]
?
示例:int main (int argc, char **argv)
而不是 *argv[]
最佳答案
对于函数参数,没有区别。
否则:
char *s[];
s 是指向 char 的指针数组。和
char **s;
s 是指向 char 的指针。
如果您需要一个指向 char 的指针数组,则使用前者;如果您需要一个指向 char 指针的指针,则使用后者。
关于char **s 与 char *s[],何时以及如何使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6782154/