C中的malloc,但使用2D语法.编译一个不去的答案



我试图找到一种方法来分配单个内存块,但使用多维语法,我找到了我在SO上寻找的确切内容。

C 语言中的 malloc,但使用多维数组语法

但是在那里剪切/粘贴代码后:

  int (*MAGICVAR)[200] = malloc(400 * sizeof *MAGICVAR);
    MAGICVAR[20][10] = 3; 

弹出此错误消息:"无法使用 void * 类型的数组初始化 int(*)[200] 类型的实体"将malloc转换为"int *"或"int **"并没有帮助

我正在使用 vs2010。

首先,使用 C 编译器而不是 C++ 编译器来

编译 C 代码,其次,如果必须使用 C++ 编译器,则将 malloc 的返回值强制转换为声明的类型,

int (*MAGICVAR)[200] = (int(*)[200])malloc(400*sizeof *MAGICVAR);

相关内容

  • 没有找到相关文章

最新更新