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.