Keresse meg a C ++ tömbméretet

Find Array Size C



A tömb olyan tároló, amely azonos adattípusú elemeket tartalmaz. Ha nem ismerjük a tömb tényleges méretét, azt különböző módszerekkel lehet meghatározni. Amikor egy tömb méretéről beszélünk, valójában a tömbben lévő elemek számáról beszélünk. Néha meghatározzuk a tömb méretét, és néha a zárójelek üresen maradnak. Ez egy látszólagos méret, amely csak egy tömb kapacitását mutatja, amelyben értéket tud tárolni. Vegyünk például egy minta tömb deklarációt

Int tömb[] = {1,2,3,4,5,6}

Itt egy tömb mérete vagy egy tömb hossza 6. A hozzárendelni kívánt tömb teljes mérete pedig nem jelenik meg. A tényleges méretet különböző műveletek alkalmazásával kapjuk meg. Ezeket a műveleteket ebben a cikkben egy tömb méretének meghatározására használjuk.







1. példa

Ebben az illusztrációban a start () és a end () fogalmát fogjuk használni. Ezzel a módszerrel a tömb mérete könnyen megismerhető. Ez két könyvtár, amelyek a szabványos könyvtárakról ismertek. Ez a két függvény visszaküldi az iterátorokat, amelyek a tömb előzetes és végpontját mutatják. A fejlécből kiindulva tömbkönyvtárat használunk. Ez magában foglalja a tömbhöz kapcsolódó összes funkciót. A fő függvényben egy tömböt indítottunk, amelynek egész értékei vannak.



Költség<<……….<<vége(nak nek)-begib(nak nek)<<

Itt nem említettük a tömb méretét. A cout -ot követő megjelenítési utasításban van end () és begin () függvényünk. A két funkció közötti eltérés megmutatja nekünk a tömb méretét. Ezen függvények paramétereiben átadtuk a tömböt. Ezzel meghatározzák a tényleges méretet. Az ezekből a funkciókból származó érték közvetlenül megjelenik.







Most a kimenet felé haladunk. Ezeket a programokat Linuxon kell végrehajtanunk, ezért szükségünk van az Ubuntu terminál bevonására. Mivel C ++ kódot használunk, ezért a fordítón keresztül kell lefordítanunk a kódot. Ez a G ++ fordító. A kód összeállítása után végrehajtjuk. Az alábbi parancsok az általunk használt kimeneti megközelítést mutatják.

$ g++ -o kód2 kód2.c

$./kód2



Most láthatja a kimenetet. Egy másik hasonló példa az std esetében a távolságfüggvény. Ebben a távolságban a start () és end () függvények segítségével számolunk. Ezt a funkciót a std.

Int n=órák:: távolság(órák::kezdődik(arr),órák::vége(arr));

A kimenetet a cout utasítás tartalmazza. A rekord megtekintéséhez használja újra a fordítót a kód végrehajtásához.

Itt láthatja, hogy a kívánt kimenetet elértük.

2. példa

Ez a példa a sizeof () függvény használatára vonatkozik a C ++ kódban, mivel ez az érték bájtok formájában adja vissza az adatok tényleges méretét. Továbbá foglalkozik a tömb tárolására használt bájtok számának visszaadásával is. Más szóval: Ebben a példában az első lépés egy tömb inicializálása anélkül, hogy deklarálnánk a tömb méretét. a sizeof () függvény szintaxisa a következő:

Int= mérete(arr)/mérete(arr[0]);

Hol arr van a tömb. arr [0] a tömb elemeinek indexét mutatja.

Ez az állítás tehát azt sugallja, hogy a tömb méretét egyenként el kell osztani az összes jelenlévő elem méretével. Ez segít a hosszúság kiszámításában. Egy egész változót használtunk a függvényből származó érték visszatérésének fogadására és tárolására.

Itt kapjuk meg a kimenetet a parancssorból ugyanazzal a fordítási-végrehajtási módszerrel.

A kimenet a tömb méretét mutatja, ami a benne lévő elemek számát jelenti, ami 6.

3. példa

Ez a példa tartalmazza a size () függvény használatát. Ez a funkció az STL szabványos könyvtárban található. A főprogram kezdeti lépése a tömb deklarálása. Itt a tömb neve tartalmazza a méretet és az egész értéket is. Ez a módszer az eredményt közvetlenül a kimeneti utasításban is visszaadja.

Költség<<….<<arr.méret()<<

Ahol az „arr” a tömb, az eredmény lekéréséhez vagy a függvény eléréséhez szükségünk van a tömb nevére a size függvénnyel.

Az eredmény megjelenítéséhez a g ++ fordítót használjuk az eredmény összeállításához és végrehajtásához.

A kimeneten látható, hogy az eredmény a kívánt, amely megmutatja a tömb tényleges méretét.

4. példa

A tömb méretét úgy is meg lehet szerezni, ha mutatókat használunk, mivel a mutatók tárolják a változó értékének címét/helyét. Most vegye figyelembe az alábbi példát.

A kezdeti lépés a tömb inicializálása a szokásos módon. Ezután a mutató a tömb méretére vonatkozik.

Int len= *(&sor+ 1)- tömb;

Ez az alapvető állítás, amely mutatóként működik. * a tömb bármely elemének pozíciójának meghatározására szolgál, míg a & operátor a mutató segítségével kapott hely értékének meghatározására szolgál. Így kapjuk meg a tömb méretét a mutatókból. Az eredmény a terminálon keresztül jelenik meg. A válasz ugyanaz. Mivel az említett tömb mérete 13 volt.

5. példa

Ebben a példában a sablon argumentum levonásának ötletét használtuk. A sablon argumentum egy speciális paraméter. Bármilyen típusú argumentum átadására szolgál, csakúgy, mint az argumentumként átadható szokásos függvények.

Amikor egy tömb paraméterként kerül átadásra, azt mutatóvá alakítják a cím megjelenítéséhez. Az adott tömb hosszának meghatározásához a sablon argumentum levonásának ezt a megközelítését használjuk. Az std a szabvány rövid formája.

Tekintettel az adott példára, bevezettünk egy sablonosztályt, amelyet a tömb méretének meghatározására használunk. Ez egy alapértelmezett beépített osztály, amely tartalmazza a sablon argumentumok összes funkcióját.

Constexpr std: : size_tméret(constT(&sor)[N])kivéve{

VisszatérésN;

}

Ez egy állandó vonal ebben a koncepcióban. A kimenetet közvetlenül a cout utasításban kapjuk meg.

A kimeneten látható, hogy megkaptuk a kívánt kimenetet: a tömb méretét.

6. példa

A programban a tömb méretét az std :: vector segítségével kapjuk meg. Ez egyfajta konténer; funkciója a dinamikus tömbök tárolása. Különböző módszerekkel működik a különböző műveletekhez. A példa megvalósításához vektorkönyvtárat használtunk, amely tartalmazza az összes vektorfüggvényt. Ezenkívül deklarálja a programban használandó cin, cout, endl és vector utasításokat. Először egy tömböt kezdeményeznek a programban. A kimenet a cout utasításban vektor méret szerint jelenik meg.

Költség<<vektor mérete: <<int_array.méret() <<endl;

Most látni fogjuk az Ubuntu terminál kimenetét. A tömb mérete pontosan megfelel a benne található elemeknek.

Következtetés

Ebben az oktatóanyagban más megközelítést alkalmaztunk a tömb hosszának vagy méretének megszerzésére. Néhány beépített funkció, míg mások kézzel használhatók.