Professional Documents
Culture Documents
C/C++ Programski Jezik C: Nizovi
C/C++ Programski Jezik C: Nizovi
PROGRAMSKI JEZIK C
Nizovi
Nizovi
Pored skalarnih tipova podataka C jezik podržava
i složene tipove podatke
kolekcije podataka koje mogu biti
Nizovi
Strukture
Unije
i=0;
while(i<N) a[i++]=0;
Jednodimenzionalni niz
Niz se može inicijalizovati na sličan nacin kao i skalarna
promenljiva, zajedno sa deklaracijom
Inicijalizator niza je lista konstantnih izraza u vitičastim
zagradama {,}
int a[10]={1,2,3,4,5,6,7,8,9,10};
Ako je lista kraća od dužine niza ostali elementi se inicijalizuju sa 0
int a[10]={0}; /* svi se inicijalizuju sa 0 */
Lista ne može biti prazna, niti biti dužine veće od dužine niza. Ako
je prisutan inicijalizator dužina niza se može izostaviti.
int a[]={1,2,3,4,5,6,7,8,9};
Jednodimenzionalni niz
Niza se može inicijalizovati tzv. označivačima
int a[10]={[2]=1,[5]=6}; //{0,0,1,0,0,6,0,0,0,0}
Redosled označivača nije bitan
int a[10]={[5]=6,[2]=1};
int a[10]={1,2,[4]=6,7,8,[2]=1,23}; //{1,2,1,23,6,7,8,0,0,0}
Ako se izostavi, dužina niza je odrđena najvišim
označivačem
int a[]={[2]=1}; //{0,0,1}
sizeof operator vraća dužinu niza u bajtovima
sizeof(a)/sizeof(a[0]) vrednost izraza je dužina niza a
Višedimenzionalni niz
Niz može imati i više dimenzija
Matrica je dvodimenzionalni niz
int m[2][3] m[0][0] m[0][1] m[0][2]
m[1][0] m[1][1] m[1][2]
m[i] selekcija vrste sa indeksom i
m[i][j] selekcija elementa sa indeksom j u vrsti sa indeksom i
m[i, j] m[j] operator ,
U C jeziku matrica se smešta kao jednodimenzionalni niz
po vrstama
m[0][0] m[0][1] m[0][2] m[1][0] m[1][1] m[1][2]
Slično višedimenzionalni niz se smešta kao jednodimenzionalni niz
Krajnji desni indeks se najbrže menja
Višedimenzionalni niz
Višedimenzioni nizovi i ugnježdene petlje
#define N 10
main() {
double ident[N][N];
int row, col;
}
Inicijalizacija višedimenzionalnog niza