Tömbök c
Ma fogunk beszélni tömbök. Azt már tudjuk, hogy egy változó - egy cellát a számítógép memóriájában, ahol lehet tárolni egyetlen érték. Array - egy memória, amely képes tárolni több értéket a sorozat.
Vegyünk egy csoport diák tíz emberből. Mindegyikük egy vezetéknevet. Hozzon létre egy külön változót minden tanuló - nem racionális. Hozzon létre egy tömböt, amely tárolja a nevét, a hallgatók.
Példa tömb inicializálása
Leírás szintaxis
Leírni a tömb elemeit egyszer feladat létrejött, akkor kapcsos zárójelek. A zárójelek tömb értékek vesszővel elválasztott. Végén a záró zárójel egy pontosvessző.
Próbáljuk meg, hogy a tömb a képernyőn cout nyilatkozatot.
Lefordítani ezt a kódot, és nézd meg az eredményt a program. Kész vagy? Most újra futtatni a programot, és hasonlítsa össze az előző eredményt. Az én következtetés az operációs rendszer az alábbiak szerint:
- Az első következtetés: 0x7ffff8b85820
- A második következtetés: 0x7fff7a335f90
- A harmadik következtetés: 0x7ffff847eb40
Próbáljuk, hogy az első elem a tömb - a hallgató nevét Ivanov.
Bízunk, összeállítják, futni. Mi látható, amelynek köszönhetően „Ivanov”. Megjegyezzük, hogy a számozás a tömb elemeit egy C ++ semmiből. Ezért az első diák név közé diákok [0]. és az utolsó név - a diákok [9].
A legtöbb programozási nyelv a számozás a tömb elemeinek is a nulláról kezdi.
Próbáljuk felsorolni az összes versenyző. De először gondol, mi lenne, ha ahelyett, hogy egy csoport tíz tanuló lenne a szék száz Kar több ezer, vagy akár az egész egyetem? Nos, nem írunk több tízezer húrok Cout?
Természetesen nem! Mi fogja elfogadni a ciklusokat, amit írt az előző leckét.
A kimenet a tömb elemeinek a hurok
Ha volt, hogy megjelenjen egy sor több ezer család, akkor azt egyszerűen nőtt a végleges értéke cikiusszámláió - vonal (; i. <10;. ) заменили на for (. ; i <10000;. ) .
Megjegyezzük, hogy a ciklus számláló nulláról indul és ér véget kilenc. Ha ahelyett, szigorú egyenlőtlenség operátor - i <10 использовать оператор «меньше, либо равно» — i <= 10. то на последней итерации программа обратится к несуществующему элементу массива — students[10]. Это может привести к ошибкам сегментации и аварийному завершению программы. Будьте внимательны — подобные ошибки бывает сложно отловить.
Az ilyen különféle elemeket egy tömb általában tartalmaznak „szemét” a kiválasztott, de még nem inicializált, memória. Néhány fordító, mint például a GCC, tele minden elemét a tömb nullákkal, amikor azt létrehozzák.
Amikor létrehoz egy statikus tömb, az egyetlen állandó jelöli a mérete. A méret memóriafoglalási határozza fordítási időben, és nem lehet megváltoztatni a végrehajtás során.
Memóriakiosztási futásidőben lehet, ha dolgozik, dinamikus tömböket. De róluk később.
Töltse fel az üres billentyűzet tömb 10 elemekkel.
Tömb feltöltése billentyűzet
Mi lefordítani a programot, és ellenőrzi működését.