A tömb egy adatstruktúra, amelyet azonos adattípusú egymást követő elemek tárolására használnak. Az elem pozícióját a sorozatban indexnek nevezzük. Az indexek 0-tól (n-1) kezdődnek.
Ebben a cikkben megtanulja, hogyan kell használni a tömböket C -ben. Az itt található fogalmak többsége a legtöbb más programozási nyelvre vonatkozik, ezért feltétlenül vegye figyelembe őket.
Tömbök meghatározása
Egy tömb meghatározásához írja be annak adattípusát, majd a tömb nevét és szögletes zárójelét:
int kor [8];
A szögletes zárójelben található a tömb által fogadott adatelemek várható száma. Ha egyszerre két tömböt kell deklarálnia, az alábbiak szerint teheti meg. Érdemes megemlíteni, hogy a külön -külön történő bejelentés az előnyben részesített módszer.
int életkor [8], magasság [8];
Lehetőség van tömb deklarálására is az alábbiak szerint:
int [8] életkor;
A fenti szintaxis azt jelentené kor egy típusú tömb mutatója int. Bár használhatja a "mutató szintaxisát", az első előnyös.
Összefüggő: Egy szám szorzótáblájának megjelenítése Python, C ++, JavaScript és C használatával
Előfordulhat, hogy nem tudja, hány elemre számít a tömbben. Ebben az esetben a tömböt az elemek száma nélkül kell deklarálnia. Lásd az alábbi példát:
int kor [];
Műveletek tömbökön
Egy tömb elemre való hivatkozáshoz írja be a tömb nevét, majd az indexét szögletes zárójelbe (pl. életkor [5]). A szögletes zárójelben lévő változókat is használhatja:
életkor [x+y]
Biztosítania kell, hogy ezeknek a változóknak a számítása a 0 és az (n-1) közötti tartományban legyen. Ellenkező esetben fordítási hibát kap.
Inicializálás
A tömb elemek megadhatók a nyilatkozatban vagy a program későbbi szakaszában. Ezt a műveletet inicializálásnak nevezik, mivel a tömb kezdetben nulla értékekkel rendelkezik.
Lásd az alábbi példát. Kinyomtatja az elem értékét és indexét a tömbben. Az 5. sor inicializáló listát használ az egész tömb inicializálásához.
#befoglalni
int main (void) {
printf ("%s%11s
"," Elem "," Érték ");
int n [4] = {1, 4, 9, 16};
// kimeneti tömb elemek táblázatos formában
for (size_t i = 0; i <4; ++ i) {
printf ("%5u%10d
", i, n [i]);
}
}
Kimenet:
Elem értéke
0 1
1 4
2 9
3 16
Tömbök használata karakterláncok tárolására
A tömbök karakterláncok tárolására is használhatók, nem csak egész számokra. Ha így használja, ne felejtse el egyetlen idézőjelet hozzáadni az inicializáló lista minden eleméhez.
széngyümölcs [] = ['b', 'e', 'r', 'r', 'y', '\ 0'];
Vegye figyelembe, hogy a char adattípust használnak. A string literal valójában egyedi karakterekből áll, és ezért látja char.
Összefüggő: A C ++ programozás elsajátítása: 6 webhely az első lépésekhez
A bemutatott tömb egy menekülési sorozattal végződik (\0). Ez egy null karakternek nevezett karakterlánc-befejező karakter. Ezt mindig tartalmaznia kell egy tömblista inicializálásakor.
Valójában van egy egyszerűbb módja a karakter tömb inicializálásának. Először az előbbi megközelítést mutattuk be, hogy tudd, hogy egy karakter tömbnek mindig van egy speciális befejező karaktere (\0). Gyakori hiba a kezdő programozóknál, hogy a tömb mérete eggyel kisebb, elfelejtve az utolsó elemet (\0).
char string1 [5] = "Kód";
Tegyük fel, hogy be kell szereznie a felhasználói adatokat, és tömbben kell tárolnia. Használhatja a szabványos könyvtári funkciót scanf ezért.
Meg kell azonban adnia, hogy hány karakterre legyen szüksége a függvénynek. Ez azért van, mert scanf nem ellenőrzi a tömb méretét, és adatokat írhat a tömbön kívüli címekre, puffertúlcsordulást okozva.
Használja a %s konverziós specifikátor a maximális várható bemenet meghatározásához. Az scanf függvény olvassa az összes beírt karaktert, amíg a szóköz, a tabulátor, az újsor vagy a fájlvégi jelzés meg nem jelenik.
A C programozás fejlesztése
A tanuláshoz használt erőforrások ugyanolyan fontosak, mint a tanulási buzgóság. Ha jó gyakorlat nélkül tanul, kihívást jelent a programozási útja.
A C tanulása különösen nehéz nyelv, mivel nem objektum-orientált. Szerencsére rengeteg erőforrásunk van a C programozás elsajátításához.
Azt kívánta valaha, hogy tudja, hogyan kell elvégezni az alapvető programozást C nyelven? Most ennek az edzéscsomagnak köszönheti.
Olvassa tovább
- Programozás
- C Programozás
- Programozás
- Programozási nyelvek
Jerome a MakeUseOf munkatársa. A programozásról és a Linuxról szóló cikkekkel foglalkozik. Szintén kriptorajongó, és mindig figyelemmel kíséri a kriptoipart.
Iratkozzon fel hírlevelünkre
Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!
Feliratkozáshoz kattintson ide