gpt4 book ai didi

c - 如何创建一个全局二维数组,其大小仅在运行时在 c 中定义(或如何将参数传递给 opengl 中的绘图函数)?

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:45 26 4
gpt4 key购买 nike

我想创建一个表示棋盘游戏位置的二维数组。我已经定义了每个位置都是“结构位置”类型,它是一个可以是“空”、“piece1”或“piece2”的枚举。问题在于用户决定表的大小,即二维数组将有多少个位置。由于我正在调用不能接受参数的 opengl 图形函数(或者他们有办法做到这一点吗?),是否可以在运行时定义二维数组的大小?

最佳答案

不,您不能在运行时在 C 中定义数组的大小。但是一维数组与指针具有相同的语义,因此您可以通过使用指针来“模拟”多维数组。像这样的东西应该可以解决问题:

int w = 16, h = 16;
int *array = malloc(sizeof(int) * w * h);

int x = 4, y = 2;
array[y * w + x] = 1;

关于c - 如何创建一个全局二维数组,其大小仅在运行时在 c 中定义(或如何将参数传递给 opengl 中的绘图函数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4195645/

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