gpt4 book ai didi

c - 二维数组 Malloc

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:16 24 4
gpt4 key购买 nike

下面是较长代码的一部分,其中完成了二维数组的 malloc。谁能告诉我这是否正确?如果我引入静态值,代码就可以正常工作。否则,段错误...

enum { LEN = 1024*8 };

char **tab = NULL;
int cur_LEN = LEN;
int count_lineMax = 0;


tab = malloc(count_lineMax * sizeof(*tab));
memset(tab, 0, count_lineMax * sizeof(*tab));

if(tab == NULL && count_lineMax) {
printf("Mem_check\n");
exit(1);
}

for(k=0;k<count_lineMax;k++) {
tab[k] = malloc(cur_LEN*sizeof(*tab[k]));
memset(tab[k], 0, cur_LEN*sizeof(*tab[k]));

if(tab[k] == NULL) {
printf("Mem_check*\n");
exit(1);
}
}
for(l=0;l<count_lineMax;l++) {
free(tab[l]);
}
free(tab);

最佳答案

int count_lineMax = 0;

tab = malloc(count_lineMax * sizeof(*tab));

这是什么?你要 malloc 0 字节吗?

关于c - 二维数组 Malloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com