gpt4 book ai didi

c - 用 C 语言创建一个带有变量的二维数组

转载 作者:行者123 更新时间:2023-11-30 15:29:10 24 4
gpt4 key购买 nike

我有一个整数变量 x,我需要用它来创建两个 2D 数组,但出现错误“无法分配常量大小为 0 的数组”。经过一些研究后,我显然需要使用 malloc,但我不知道如何将其应用到我当前的情况。

我需要的两个数组:

int firMat[x][5];
int secMat[5][x];

最佳答案

#include <stdio.h>
#include <stdlib.h>

int main(void) {
int x = 2;
int **firMat;//int firMat[x][5];
int **secMat;//secMat[5][x];
int i;

firMat = malloc(x * sizeof(int*));
for(i = 0; i< x; ++i)
firMat[i] = malloc(5 * sizeof(int));

secMat = malloc(5 * sizeof(int*));
for(i = 0; i< 5; ++i)
secMat[i] = malloc(x * sizeof(int));

//do stuff E.g. fir[2][1] = 21;
//release E.g.
//for(i = 0; i< x; ++i)
// free(firMat[i]);
//free(firMat);

return 0;
}

关于c - 用 C 语言创建一个带有变量的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26330173/

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