我正在使用一个函数,该函数通过重新分配匹配并使其更大的结构来修改称为 match 的结构数组:
match = realloc(match, (sizeof(mStruct)*num_matches+1));
结构原型如下:
typedef struct{
char **names;
int score;
int diff;
} mStruct;
问题是,一旦我在结构内部为它们各自的 char 数组的 char 指针数组分配内存,char 指针就永远不会返回给调用函数,因为我返回的是 mStruct 类型。
return match;
其余静态声明的变量将被返回,因为它们不需要指向它们的特殊指针。我将如何返回 char 指针?
我调用的函数参数如下:
mStruct* trigger(pStruct *mArr, pStruct *wArr, mStruct *match)
调用函数如下所示
match = trigger(mArr, wArr, match);