2-wymiarowa tablica

0

Moglby mi ktos powiedziec, jak przekazac taka tablice du funkcji?

Wiem, ze deklaracja funkcji wyglada tak;

int tab[3][3];

void funkcja(int tab[][3])

albo tak funkcja(int (*tab)[3]) - chocaiz to nie do konca rozumiem.

A jak wygalda wywolanie funkcji dla aprametru tab[3][3]?

0

Deklaracje wyglądają dokładnie jak napisałeś.
Wywołanie to po prostu:

int tab[3][3];

funkcja(tab)

Przy czym tka naprawdę pierwszy rozmiar nie musi wynosić 3.

Pierwszą deklaracje powinieneś przeczytać tak: funkcja jest funkcją przyjmująca za argument tablicę o nieznanej liczbie elementów o typie trójelementowej tablicy int.

0

Możesz też zadeklarować dynamiczną tablicę:

int ** tab;

tab = new int * [10];

for (int i = 0; i < 10; i++)
  tab[i] = new int [10];

Wtedy możesz w funkcji przekazać tablicę dowolnego rozmiaru:

int przekazTablice(int ** tablica, int rozmiarX, int rozmiarY);

1 użytkowników online, w tym zalogowanych: 0, gości: 1