Odwołanie do elementu dwuwymiarowej tablicy przez wskaźnik.

0

Uczę się programowania dopiero od jakiegoś tygodnia więc bez nerwów :)

Obecne jestem na etapie wskaźników. Robiłem sobie wcześniej różne programy, które wyświetlały "animacje" z dwuwymiarowej tablicy char'ów w ramach ćwiczeń. W tym celu napisałem do tego odpowiednią funkcje, która w jednym z argumentów miała właśnie dwuwymiarową tablice. Gdy dzisiaj obejrzałem lekcje o wskaźnikach pomyślałem sobie, że dobrym rozwiązaniem byłoby pracowanie na oryginalnej tablicy niż niepotrzebne tworzenie nowej na rzecz działania funkcji. Kod tej funkcji jak i sam program już zmodyfikowałem i działa, ale nie podoba mi się zapis:

 
#include <iostream>

using namespace std;

int main()
{
    int costam[5][5];
    costam[1][3]=123456789;
    int *wskaznik = &costam[0][0];
    cout << *(wskaznik+5*1+3);
}

Dałoby się to zapisać inaczej? Chodzi mi o ostatnia linijkę. Mógłbym się odwołać jakoś szybciej do tej wartości czy za każdym razem muszę ją sobie przeliczać?;

0

Ok, teraz chyba rozumiem o co pytasz. Możesz alokować tablicę dynamicznie za pomocą new[] i wtedy problem zniknie bo będziesz miał int**

1

jeżeli nie chcesz używać new możesz looknąć tutaj: http://stackoverflow.com/questions/8767166/passing-2d-array-to-function

0

nie ucz się tego niepotrzebnego kucyka, nikt juz nie koduje na tablicach dwuwymiarowych, masz kontenery stl, a temat tablic dwuwymiarowych jedynie zniechęca do nauki, napisz program, który wyświetla tabliczkę mnożenia i zostaw ten temat

ot taka moja opinia

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