1

我正在使用一个函数,该函数通过重新分配匹配并使其更大的结构来修改称为 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);
4

0 回答 0