Dynamic Multidimensional array in C
问题 reading a few articles on dynamic memory allocation for multidimensional arrays in c, I came across the following code snippet: (article link) #define COLS 5 int (*rptr)[COLS]; int main(void) { int nrows = 10; int row, col; rptr = malloc(nrows * COLS * sizeof(int)); for (row = 0; row < nrows; row++) for (col = 0; col < COLS; col++) rptr[row][col] = 17; return 0; } Here, a multidimensinal array is defined as int (*rptr)[COLS] and then dynamically linked to malloc(nrows * COLS * sizeof(int)).