我有这个方法。。。
CCD_ 1,它将返回一个指向字符指针的指针。
有可能做…吗。。
char** allStrings = getStrings()?
或者我必须做一些像。。。
char** alStrings = malloc(sizeof(char*) * numberOfStrings);
allStrings = getStrings()
//where numberOfStrings is some int.
第一个显然是正确的
修复拼写错误后的第二个等于第一个加上内存泄漏。
还请参阅函数合约,以访问所有这些字符串,并进行解除分配。
您可能会得到一个以NULL
结尾的、以0
结尾的字符串数组,但解除分配可能更为棘手。
可能的交易选择:
- 静态数据,多线程/递归/多调用陷阱,不需要也不允许显式释放
- 全部在一个块中,只释放主指针
- 必须分别释放每个组件
如果getStrings()
为您分配,那么char **allStrings = getStrings()
当然可以。