У меня проблемы с возвратом многомерного массива.Я создаю массив в функции, а затем изменяю его в другой функции.В основной функции я хочу распечатать содержимое массива, как указано ниже, но я не получаю ничего для отображения в консоли
Есть предложения?Спасибо.
//Build the grid array given the number of rows, columns and levels
char ***buildGrid(int numRows, int numCols, int numLevels)
{
char ***levels;
levels = malloc(numLevels *sizeof(char *)); //Contains all levels
int rowIndex, levelIndex;
for (levelIndex = 0; levelIndex < numLevels; levelIndex++)
{
char **level = malloc(numRows * sizeof(char *)); //Contains all rows
for(rowIndex = 0; rowIndex < numRows; rowIndex++)
{
level[rowIndex] = malloc(numCols * sizeof(char)); //Contains all columns
}
levels[levelIndex] = level;
}
return levels;
}
void readGrid(char ***grid)
{
grid = buildGrid(3,3,3);
grid[0][0][0] = 'a';
}
int main (int argc, const char * argv[])
{
char ***gridData;
readGrid(gridData);
printf("%c", gridData[0][0][0]); //This does not output anything
return 0;
}