如何将内存分配给函数中的指针

时间:2019-05-27 22:09:10

标签: c

我要在函数中为char **指针中的char *指针分配内存时,我在做什么错了?

int main(void)
{
    char** ar = NULL;

    inti(&ar);
    getchar();
    return 0;
}
void inti(char*** x)
{

    *x = (char**)calloc(sizeof(char*), 4);
}

我想将x中的单元格发送到另一个函数,该函数将在其中调用一个字符数组的内存。我该如何执行跟进功能?

1 个答案:

答案 0 :(得分:0)

我可以建议裁掉中间人并执行以下操作吗? (此外,我相信您的calloc()arg是向后的。)

char** inti() {
    char** c = calloc(4, sizeof(char*))

    for (int i = 0; i < 4; i++) {
        c[i] = malloc(/* length of string */);
    }

    return c;
}

int main(void) {
    char** ptrptr = inti();
}