Wskaźnik do tablicy dwuwymiarowe

0

Witam

Mam tablice dwu wymiarową
AnsiString tab[5][2] = {
{"aa","a"},
{"bb","b"}
};

jak ja teraz przekazać do niej wskaźnik do funkcji?
Nie powinno być tak?

AnsiString Funkcja(AnsiString **tab, int size)
{

}

Programuje w C++Builder6

0

jak ja teraz przekazać do niej wskaźnik do funkcji?

chyba sam nie rozumiesz co napisales...
Powinno byc tak:

 
AnsiString Funkcja(AnsiString tab[5][2])
{

}

poniewaz chcesz przekazac tablice stworzona statycznie. Jezeli tablica tworzona bylaby
dynamicznie to wtedy tak :

 AnsiString Funkcja(AnsiString **tab,int lines,int column)
{

}

z 2 parametrami, lines na ilosc wierszy w tablicy a column na ilosc kolumn .

0

Ok rozumiem ale teraz to ją kopiujesz chyba prawda?

1

Nie,nigdy tablica nie jest kopiowana poniewaz jak przekazujesz tablice do funkcji to
tak naprawde przekazujesz adres do jej pierwszego elementu, tablica jest poukladana
w kolejnosci w pamieci czyli np mamy tablice:
int tab[100];
tab - wskaznik na pierwszy element
(gwiazdka)tab-wartosc pierwszego elementu(rownoznaczne z tab[0])
(gwiazdka)(tab+1)- wartosc drugiego elementu (rownoznaczne z tab[1]) itd.
Dlatego jak przekazujesz tablice do funkcji wystarczy ze przekazesz wskaznik do pierwszego elementu
i masz dostep do calej tablicy.

0

Dziękuje za wyjaśnienie
Pozdrawiam

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