gpt4 book ai didi

c - 如何动态分配一个二维数组

转载 作者:太空狗 更新时间:2023-10-29 15:18:05 25 4
gpt4 key购买 nike

我想在 C 中创建一个二维数组。

比如我创建一个名为place的int类型变量是这样的:

int *place;

我有一个游戏,它有像行和列这样的变量。我希望我的 place 变量是一个二维数组,动态分配它的行和列(对于数组的最大大小),这在“正常”声明中看起来像这样:

place[rows][columns];

但我不知道如何使用动态分配。

我会为一维数组这样做:

place = (int*) malloc (levels * sizeof(int));

但我不知道如何使用二维数组执行此操作。

编辑:

我怎样才能将它重写为 char 而不是 int?

我试过用字符覆盖整数,但它不起作用。

最佳答案

place 成为指向数组的指针,

int (*place)[columns] = malloc(rows * sizeof *place);

这为您提供了一个连续的内存块(有利于本地化),您可以简单地访问它

place[i][j] = whatever;

关于c - 如何动态分配一个二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659041/

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