Vektorok deklarálása
A vektorok egydimenziós tömbök. Deklarálásukkor meg kell adni a tömb alaptípusát, és az elemek számát:
int a[5];
Ezzel deklaráltunk egy „a” nevű változót, amely 5 db integer (egész ) típusú érték tárolására képes. Az elemek sorszámozása minden esetben 0-tól indul, így ezen példában 0 és 4 közötti elemsorszámok használhatóak.
Amennyiben olyan vektorelemre hivatkoznánk, amely nem létezik (pl. nagyobb sorszámot írunk be, mint 4), akkor sem áll le a program futási hibával, de a működése helytelen lesz.
A vektor elemeire szögletes zárójelben elhelyezett indexekkel lehetséges:
a[2] = 14;
vagy
for(i=0;i<5;i++)
a[i] = 2*i;
Dinamikus vektorok
A vektorok egydimenziós tömbök. Amennyiben olyan vektorra van szükségünk, melynek elemszáma csak futás közben derül ki, úgy az alábbi vektor-deklarációs forma nem használható:
int a[5];
Helyette a cím típusú változókat használjuk fel vektorok képzésére:
int *v;
int n=10;
v=(int*)malloc( sizeof(int) * n);
Az „n” értéke határozza meg, hogy hány darab integernek foglalunk helyet futás közben.
Ezen „v” változót használhatjuk vektorként is, az elemekre hivatkozhatunk szögletes zárójelbe tett indexükkel. Az elemek sorszámozása minden esetben 0-tól indul, így ezen példában 0..n-1 közötti elemsorszámok használhatóak.
v[2] = 14;
vagy
for(i=0;i<5;i++)
v[i] = 2*i;
Ne felejtsük el, hogy az malloc-al lefoglalt memóriaterületet a free-vel fel kell szabadítani a megfelelő időben:
free(v);
Sztringek
A szöveg (string) típus ebben a formában nem létezik a C nyelven, de hasonló viselkedést elő lehet idézni karakter típusú vektorral.
A vektor elemeibe bemásoljuk a szöveget felépítő karaktereket, és a végére illesztünk egy 0 kódú karaktert. Ez jelöli a szöveget felépítő karakterek végét.
Ilyen vektort könnyű felépíteni string típusú literálok segítségével:
char ss[] = ”ALMA”;
Ez egy 5 elemű vektort hoz létre, amelyben van 4 db karakter, és a string vége jel.
Ilyen felépítésű változókat a %s formátum jellel lehet kiíratni:
printf(”A szöveg=%s”,ss);
A tömbök olyan összetett, homogén adatszerkezetek, amelyek statikus mérettel rendelkeznek, és jellemzően folytonos reprezentációjúak. Adathozzáférési stratégiájuk pedig véletlen elérésű (Random Access).
A tömbök lehetnek egydimenziósak (vektor), kétdimenziósak (mátrix) és többdimenziósak.