I’m getting confused by pointers in objective-c.
Basically I have a bunch of static data in my code.
static int dataSet0[2][2] = {{0, 1}, {2, 3}};
static int dataSet1[2][2] = {{4, 5}, {6, 7}};
And I want to have an array to index it all.
dataSets[0]; //Would give me dataSet0...
What should the type of dataSets be, and how would I initialize it?
While it’s laid out the same in memory, a pointer to a multidimensional array is different than a pointer to a flat array. The compiler has to convert the [][] index to a flat array index for any multidimensional arrays. Can’t mix the two or the distinction for the compiler is lost. You can either use all flat arrays:
or one big multidimensional array:
but not a combination of the two unless you clue the compiler in by declaring a special datatype per Jon’s suggestion.