【发布时间】:2019-04-04 15:06:00
【问题描述】:
我有一个函数f(char **p),我想以最简单的方式调用它。
我试过了
char ** p = {"a", "b"};
f(p);
得到:
标量对象在初始化器中需要一个元素
所以我把它改成了
char * p[2] = {"a", "b"};
f(p);
一切顺利 [只要char * p[] 也可以]。
为什么我不能像下面这样动态地创建一个指针数组?
f({"a", "b"});
【问题讨论】:
-
嗯,我能想象到的最简单的方法是
char *p; f(&p);如果需要字符串数组或应在函数中修改的指针地址,这取决于函数的语义。