Tablica(ang. Array) to zespół równorzędnych zmiennych, posiadających wspólną nazwę. Jego poszczególne elementy są rozróżniane poprzez przypisane im liczby nazywane indeksami. Indeksy tablic zawsze zaczynają się od zera. Tablica elementów jest ciągłym obszarem pamięci, w którym dane elementy są umieszczone. Wszystkie elementy danej tablicy muszą być tego samego typu (mówimy wtedy o typie tablicy).
Przykład deklaracja tablicy jednowymiarowej:
int tab[7]; char tab_z[20]; float Ftab[15];
Powyżej został przedstawiony sposób deklaracji tablicy złożonej z siedmiu elementów typu int. W nawiasach kwadratowych podany jest rozmiar tablicy (7), musi on być dodatnią liczbą całkowitą, której wartość jest znana w czasie kompilacji - nie może to być zmienna! W tablicy każdy element ma swój indeks. Indeksowanie tablicy rozpoczyna się od 0, ostatni element ma indeks N - 1 (gdzie N to rozmiar tablicy).
char tekst[20] = {"Alpy"}; char tekst[20] = {'A','l','p','y'}; char tekst[] = {"Tatry"}; // rozmiar tablicy: 6 char tekst[] = {'T','a','t','r','y'}; // rozmiar tablicy: 5
tab[0] = 1; int x = tab[0];
Powyżej został przedstawiony sposób odwołania się do zerowego elementu tablicy. W pierwszej linii do elementu 0 w tablicy tab zapisana zostaje wartość 1. W drugiej linii pobierana jest wartość z komórki 0 tablicy tab i zapisywana do zmiennej x.
int tab[3] = {1, 2, 3};
Powyżej przedstawiony został sposób deklarowania tablicy wraz z jednoczesną inicjalizacją jej elementów. Zadeklarowana została tablica 3 elementów, o wartościach kolejno 1, 2 i 3. Jeżeli rozmiar tablicy nie zostanie podany jawnie, to tablica będzie miała dokładnie tyle elementów ile zostało podanych w nawiasach klamrowych.
Tablice znakowe są to tablice o typie char. Istotnym problemem z ich interpretacją jest zmienna długość przechowywanych napisów.
char tab[] = {“Napis”}; Char tab[] = {‘N’, ‘a’, ‘p’, ‘i’, ‘s’};
Powyżej przedstawiony został sposób deklarowania tablicy wraz z jednoczesną inicjalizacją jej elementów. Różnica między tymi dwoma sposobami inicjalizacji polega na rozmiarze tablicy. W przypadku pierwszym rozmiar tablicy wynosi 6, podczas gdy w przypadku drugim 5. Dzieje się tak dlatego, że w języku C na końcu właściwego napisu dopisany jest znacznik, informujący, że w tym miejscu napis się kończy. Znacznik ten nazywany jest znacznikiem końca i jest to znak o kodzie ASCII równym zero, reprezentowany symbolicznie za pomocą literału ‘\0’. Metoda druga nie zapewnia dopisania znacznika końca, stąd w tym wypadku długość tablicy będzie wynosić 5 elementów.