我想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);
}
}