gpt4 book ai didi

c - 如何在运行时分配多维数组?

转载 作者:行者123 更新时间:2023-12-02 06:20:11 24 4
gpt4 key购买 nike

在设计时我可以像这样声明一个变量:

char szDesignTimeArray[120][128];

上面的声明是 120 个大小为 128 的数组。在运行时我需要分配以下内容:

char szRunTime[?][128];

我知道数组的大小,但不知道需要分配多少数组。当我知道这个数字时,我该如何声明和分配它们?

谢谢大家

最佳答案

我假设在运行时您也知道 Row_Size。

您可以在运行时动态分配一个多维数组,如下所示:

#include <stdlib.h>

int **array;
array = malloc(nrows * sizeof(int *));
if(array == NULL)
{
fprintf(stderr, "out of memory\n");
exit or return
}
for(i = 0; i < nrows; i++)
{
array[i] = malloc(ncolumns * sizeof(int));
if(array[i] == NULL)
{
fprintf(stderr, "out of memory\n");
exit or return
}
}

引用:

http://www.eskimo.com/~scs/cclass/int/sx9b.html

关于c - 如何在运行时分配多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317717/

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