2013-06-23 4 views
4

Как передать двумерный массив в качестве аргумента функции (считается, что размер массива известен)? Мне понадобится помощь как для объявления, так и для определения функции. Что я имею в виду, это примерно так:Двухмерный массив как аргумент функции

#include <stdio.h> 
#define size 10 
void function(int anarray[size][size]); //<- Is that correct? 
... 

void function(int anarray[][]) //<-Is this too? 
{ 
}  

Спасибо большое!

ответ

6
void function1(int anarray[size][size]); // <- Is that correct? 

Да, это так. void function1(int anarray[][size]); будет работать.

void function1(int anarray[][]) // <- Is this too? 

Нет, это ошибка компилятора. Только первое (внутреннее) измерение массива распадается на указатель при передаче функции.

+0

Могу я сказать, что функция void1 (int anarray [N] [N])? Спасибо за ваш быстрый ответ. –

+0

@ darkchampionz Вы прочитали первую строку моего ответа? Я имею в виду, «да, это», вполне достаточно, не так ли? –

+1

@ darkchampionz обратите внимание, прочитайте ВСЕ ответ –