FANDOM


Przykłady kodu w CEdytuj

Kod w C będzie wyglądał np. tak (dla dwuwymiarowej tablicy int o rozmiarach SIZEX na SIZEY):

size_t SIZEX, SIZEY;
int **tablica; 
tablica = (int**)malloc(SIZEX * sizeof(int*)); 
for(size_t x = 0; x < SIZEX; ++x) 
    tablica[x] = (int*)malloc(SIZEY * sizeof(int)); 
/* użycie - jak zwykłej tablicy wielowymiarowej */

tablica[x][y] = 1;
int b = tablica[x][y];

/* pozniej czyszczenie pamieci: */
for(size_t x = 0; x < SIZEX; ++x) 
    free(tablica[x]); 
free(tablica); 

Przypadki o większej liczbie wymiarów - analogicznie, zwiększa się tylko liczba poziomów:

size_t SIZEX, SIZEY, SIZEZ;
int ***tablica; 
tablica = (int***)malloc(SIZEX * sizeof(int**)); 
for(size_t x = 0; x < SIZEX; ++x)
{
    tablica[x] = (int**)malloc(SIZEY * sizeof(int*)); 
    for(size_t y = 0; y < SIZEY; ++y) 
       tablica[x][y] = (int*)malloc(SIZEZ * sizeof(int)); 
}
/* użycie - jak zwykłej tablicy wielowymiarowej */

tablica[x][y][z] = 1;
int b = tablica[x][y][z];

/* pozniej czyszczenie pamieci: */
for(size_t x = 0; x < SIZEX; ++x) 
{
    for(size_t y = 0; y < SIZEY; ++y) 
        free(tablica[x][y]); 
    free(tablica[x]);
}
free(tablica);

Przykład kodu w C++ (implementacja operatora[][])Edytuj

Przykład realizacji dla statycznych rozmiarów.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Więcej z Fandomu

Losowa wiki