czwartek, 26 kwietnia 2018

Język C - Tablice


C - Tablice

Tablica określa rodzaj struktury danych, która może przechowywać ciągły zbiór sekwencyjny elementów tego samego typu. Tablica służy do przechowywania zbioru danych, ale często lepiej jest myśleć o tablicy jako zbiorze zmiennych tego samego typu.
Zamiast deklarowania poszczególnych zmiennych, takich jak liczba0, liczba1, ... i liczba99, deklarujesz jedną zmienną tablicową, jak liczby i używamy je jako liczby[0], liczby[1] i ..., liczby[99] do reprezentowania indywidualnych zmiennych. Określony element w tablicy jest dostępny przez indeks.
Wszystkie tablice składają się z sąsiadujących lokalizacji pamięci. Najniższy adres odpowiada pierwszemu elementowi, a najwyższy adres ostatniemu elementowi.

Deklarowanie tablic

Aby zadeklarować tablicę w C, programista określa typ elementów i liczbę elementów wymaganych przez tablicę w następujący sposób:
typ NazwaTablicy [ rozmiarTablicy ];

Nazywa się to tablicą jednowymiarową. Rozmiar rozmiarTablicy musi być stałą całkowitą większą od zera, a typ może być dowolnym poprawnym typem danych C. Na przykład, aby zadeklarować 10-elementową tablicę o nazwie bilans jako double, użyj tej instrukcji -
double bilans[10];
Tutaj bilans jest tablicą zmiennych, która wystarcza na 10 podwójnych liczb.

Inicjowanie tablic

Możesz zainicjować tablicę w C albo pojedynczo, albo używając pojedynczej instrukcji w następujący sposób:
double bilans[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
Liczba wartości między nawiasami klamrowymi {} nie może być większa niż liczba elementów, które deklarujemy dla tablicy między nawiasami kwadratowymi [].
Jeśli pominiesz rozmiar tablicy, zostanie utworzona tablica wystarczająco duża, aby pomieścić inicjalizację. Dlatego, jeśli piszesz -
double bilans[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
Stworzysz dokładnie taką samą tablicę, jak w poprzednim przykładzie. Poniżej znajduje się przykład przypisania pojedynczego elementu tablicy -
bilans[4] = 50.0;
Powyższe wyrażenie przypisuje do 5  elementu macierzy wartość 50,0. Wszystkie tablice zaczynają się od 0 jako indeksu ich pierwszego elementu, który jest również nazywany indeksem bazowym, a ostatni indeks tablicy będzie całkowitym rozmiarem tablicy minus 1.

Dostęp do elementów macierzy

Dostęp do elementu odbywa się poprzez indeksowanie nazwy tablicy. Odbywa się to poprzez umieszczenie numeru indeksu w nawiasach kwadratowych po nazwie tablicy. Na przykład:
double sprzedaz = bilans[9];
Powyższe wyrażenie pobiera 10 element z tablicy i przypisuje wartość do zmiennej sprzedaz. Poniższy przykład pokazuje, jak wykorzystać wszystkie trzy wyżej wymienione pojęcia, mianowicie. deklaracja, przypisanie i dostęp do tablic:
#include <stdio.h>

int main () {

   int n[ 10 ]; /* n to tablica 10 liczb całkowitych */
   int i,j;

   /* zainicjalizuj elementy tablicy  */        
   for ( i = 0; i < 10; i++ ) {
      n[ i ] = i + 100; /* ustaw element i na i + 100 */
   }
  
   /* wypisz każdą wartość elementu tablicy */
   for (j = 0; j < 10; j++ ) {
      printf("Element[%d] = %d\n", j, n[j] );
   }

   return 0;
}
Gdy powyższy kod zostanie skompilowany i wykonany, wygeneruje się następujący wynik:
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Tablice w szczegółach

Tablice są ważne dla C i wymagają dużo więcej uwagi. Następujące ważne pojęcia związane z macierzą powinny być jasne dla programisty C -
L p.

Pojęcie i opis
1
Wielowymiarowe tablice
C obsługuje wielowymiarowe tablice. Najprostszą formą wielowymiarowej tablicy jest dwuwymiarowa tablica.
2
Przekazywanie tablic do funkcji
Możesz przekazać do funkcji wskaźnik do tablicy, podając nazwę tablicy bez indeksu.
3
Zwrócić tablicę z funkcji
C pozwala funkcji zwrócić tablicę.
4
Wskaźnik do tablicy
Możesz wygenerować wskaźnik do pierwszego elementu tablicy, po prostu określając nazwę tablicy, bez żadnego indeksu.

Poprzednia strona                                                          Następna strona

Brak komentarzy:

Prześlij komentarz