Как передать многомерный массив int в функцию в C? - PullRequest
2 голосов
/ 09 февраля 2011

Как и выше, скажем, у меня есть 3-мерный массив a [] [] [], и я хочу передать это функции; как мне объявить параметр функции?

Ответы [ 3 ]

3 голосов
/ 09 февраля 2011
void function1(int array[][3][4])
{
    ...use array here...
}

void function2(void)
{
    int array[20][3][4];
    ...load array...
    function1(array);
}
0 голосов
/ 09 февраля 2011

Я бы отправил указатель на указатель на указатель со всеми измерениями.

void foo(int ***ar, size_t l, size_t m, size_t n)
{ /* ... */ }
0 голосов
/ 09 февраля 2011

Просто объявите тройной указатель

int functionName(int*** arrayPtr, int x, int y, int z){
  return arrayPtr[z][y][x];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...