我有方法......
char** getStrings();
将返回指向char指针的指针。
可以做..
char** allStrings = getStrings()?
或者我必须做一些像......
char** alStrings = malloc(sizeof(char*) * numberOfStrings);
allStrings = getStrings()
//where numberOfStrings is some int.
答案 0 :(得分:1)
如果getStrings()
为您分配了分配,那么当然char **allStrings = getStrings()
就可以了。
答案 1 :(得分:1)
第一个显然是正确的。
第二个,在修正错字后,等于第一个加上内存泄漏。
请同时参阅函数合同以访问所有这些字符串以及解除分配。
你可能会得到一个NULL
- 终止的0
数组 - 终止的字符串,但是重新分配可能会更棘手。
可能的释放选择: