如何在C中创建(半)动态字符数组

时间:2012-02-27 23:18:38

标签: c arrays malloc

对于我想要做的事情,我需要一个char **形式的数组。 我发现使用以下内容创建了一个动态数组,最终需要256个免费调用:

char** start = malloc(11*sizeof(char));
    for (i=0;i<256;i++) {
    start[i] = malloc(11*sizeof(char));
}
for (i=0;i<256;i++) {
    free(start[i]);
}

如果有意义,我如何创建char[(malloc)][(12)]形式的数组......

1 个答案:

答案 0 :(得分:4)

char (*p)[12] = calloc(n, sizeof(*p));  // or malloc

...

free(p);

p是指向n个数组的指针,每个数组的长度为12。