Is it possible to create statically in C a 2d array of pointers to 2d arrays, like:
#define m 4
#define n 4
#define p 2
#define q 2
char arr1[m][n] = {{0}};
char arr2[m][n] = {{0}};
char (*parr[m][n])[p][q] = {{&arr1, 0, &arr2, 0}};
int main() {
return 0;
}
The 2d array of pointers parr is sparse, with some values to 0 (NULL), which is why I don't want to use a 4d array in the first place.
This compiles, but I get the following warning:
warning: initialization from incompatible pointer type
With the following command:
gcc -Wall -Wextra -pedantic -std=c99 test.c
What is wrong?