如何使用单个malloc()调用2D数组

时间:2018-05-03 22:51:20

标签: c arrays malloc

我想malloc一大块内存然后作为2D数组访问它。

malloc电话非常紧张,就像这样。

const int rows = 1000;
const int cols = 2048;
uint32_t* mal_ptr = malloc(sizeof(uint32_t)*rows*cols);

之后,我不知道如何声明一个指针,我可以用它作为2D数组访问这块内存。我不想在循环中调用malloc,因为我事先知道整个数组的大小。

我可以这样做吗?

uint32_t big_array[][cols];
big_array = mal_ptr;
for(int row=0; row<rows; row++) {
    for(int col=0; col<cols; col++) {
        big_array[row][col] = (uint32_t)(0xdeadbeef);
    }
}

0 个答案:

没有答案