Software projekti

Autor: Alen Rusin

 

NIZOVI

Nizovi su kolekcije podataka istog tipa koji se nalaze na uzastopnim memorijskim lokacijama. Deklaracija niza se prepoznaje po uglastim zagradama. Sledi deklaracija pet nizova:

extern int niz1[];
short niz2[10];
float niz3[40];
char niz4[]={“Ovo je tekst.”};
float niz5[]={“2.11, 3.2, 4.44, 5,01, 1.001};

Gornje deklaracije mogu poslužiti da se uoči sledeće:

  1. Svaki niz ima svoje ime - nizX gde je X=1,2,3,4 ili 5. Jos je bolje ime niza odabrati tako da asocira na značenje promenljivih, npr. temperatura, brzina, pritisak itd.

  2. Ispred imena niza se nalazi tip podatka (int, float, itd.) koji sadrži niz. Svi članovi niza su istog tipa.

  3. U uglastim zagradam može i ne mora biti naveden broj članova niza. Ako se ne navede broj članova niza onda je neophodno izvršiti inicijalizaciju istovremeno sa deklaracijom (niz4 i niz 5).

  4. Ključna reč extern ispred niz1 označava da je niz1 deklarisan u nekom drugom fajlu pa je za kompajliranje dovoljno navesti samo tip podataka, ime niza i zatvorene uglaste zagrade koje označavaju da navedeno ime predstavlja niz.

  5. Posebnu pažnju treba posvetiti stringovima. String je specijalan slučaj niza. Kada se stvara string u C-u praktično se kreira niz karaktera. Zadnji karakter u nizu je uvek NULL (‘\0’). Ovo je neophodno da bi C prepoznao da se radi o stringu. Iako se u nizu niz4 vidi 13 karaktera, postoji i poslednji četrnaesti NULL ili nula. O ovoj činjenici programer mora voditi računa kada kreira string. Tada on sam mora postaviti NULL na kraj niza kako bi kompajler taj niz protumačio kao string.

Pojedinačnom članu niza se pristupa preko indeksa. Indeks je nenegativan ceo broj koji nije veci od veličine niza. U gornjem primeru je niz4[1]=’v’ dok je niz5[0]=2.11. Ovde su indeksi 1 i 0 korišćeni da bi se pristupilo članovima nizova niz4 i niz5 respektivno. Dakle, indeks je “smernica” koji nam omogućava da nešto upišemo na određeno mesto u nizu, ili da očitamo podatak iz niza koji se nalazi na određenom mestu - koje definiše indeks.


Pročitajte više o ovoj temi
Programski jezik C u primenjenim sistemima
Tipovi podataka u C-u
Elektronika u susretu sa medicinom

C o p y r i g h t  1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji