Wskażnik do tablicy 2D jako argument funkcji
Ostatnio zmodyfikowano 2018-02-26 17:11
lukasz427 Temat założony przez niniejszego użytkownika |
Wskażnik do tablicy 2D jako argument funkcji » 2018-02-26 16:34:39 Cześć, Od razu przejdę do rzeczy. Mam taki b. krótki kod: #include <iostream> using namespace std;
int tab[ 2 ][ 5 ] { };
void fun( int( * wsk )[ 5 ] ) { cout <<( * wsk ); }
int main() { fun( tab ); }
Tablice odbieram jako wskażnik. Po wywołaniu funkcji nie jest wyświetlane zero jako wartość pierwszego argumentu tablicy(czego oczekuję) tylko jakaś liczba (chyba adres).Kombinowałem na różne sposoby z odebraniem tej tablicy z argumentem formalnym ale tylko tak udało mi się poprawnie napisać kod aby program został skompilowany bez błędu. Jak to napisać aby wyświetlić te zera,które są wartościami poszczególnych elementów tej tablicy. Zmienić argument formalny na inny wskażnik czy może ciało funkcji? Dodam, że jeśli wszystko zamienię tak aby odebrać tablice jako tablice w funkcji wszystko jest w porządku. Z góry dziękuję. |
|
nanoant20 |
» 2018-02-26 16:54:57 body fun for( int i = 0; i < 2; i++ ) { for( int j = 0; j < 5; j++ ) { cout << *( *( wsk + i ) + j ) << " "; } cout << endl; }
@EDIT zrobiłbym to inaczej void fun( int * tab ) { for( int i = 0; i < 2; i++ ) { for( int j = 0; j < 5; j++ ) { cout << *(( tab + i ) + j ) << " "; } cout << endl; } }
int main() { int tab[ 2 ][ 5 ] { }; int * wsk; wsk = & tab[ 0 ][ 0 ]; fun( wsk ); cout << endl; return 0; }
|
|
lukasz427 Temat założony przez niniejszego użytkownika |
» 2018-02-26 17:11:19 Dziękuję. Zamykam temat.
|
|
« 1 » |