c arrays with examples
Co jsou pole v C ++? Proč jsou užitečné?
V tomhle Kompletní C ++ Training Series , v tomto kurzu se podíváme na pole v C ++.
Pole v C ++ lze jednoduše definovat jako soubor dat.
Pokud jedna z aplikací, které navrhuji, vyžaduje 100 proměnných celočíselného datového typu. Potom pomocí deklarace proměnné budu muset deklarovat 100 různých celočíselných proměnných. To bude zase opravdu těžkopádné.
Místo toho, co když deklaruji jednu proměnnou, která drží souvislých 100 paměťových míst? Zde přicházejí do obrazu pole.
Co se naučíte:
Pole v C ++
Pole lze definovat jako kolekci proměnných stejného datového typu a má souvislá paměťová umístění.
Takže pokud definuji pole 100 celých čísel, jeho paměťová reprezentace bude poněkud, jak je uvedeno níže:
Jak je uvedeno výše, 0… 99 jsou paměťová místa pro toto pole a jsou sousedící. Prázdné panely jsou skutečné prvky pole. K jednotlivým prvkům pole lze přistupovat pomocí indexu. Ve výše uvedeném diagramu je první index pole 0, zatímco poslední index je 99 (protože se jedná o pole 100 prvků). 0 1 2 3 4 5 ……. … .. 99.
Všimněte si, že počáteční index pole je vždy 0. Proto pro pole n prvků bude počáteční index pole 0 a poslední index bude n-1.
Prohlásit pole
Deklarace pole v C ++ obecně vypadá takto:
datatype arrayName ( arraySize );
Výše uvedená deklarace je pro jednorozměrné pole. Tady je datový typ jakýkoli datový typ přijatelný v C ++. „ArrayName“ je název pole, které vytváříme, zatímco arraySize, který je vždy uzavřen v hranatých závorkách (()), je počet prvků, které pole pojme. ArraySize musí být vždy konstantní výraz.
Například, pokud musím deklarovat pole s názvem myarray s 10 prvky typu Integer, pak bude deklarace vypadat :
int myarray (10);
Podobně bude deklarace pro pole „plat“ typu double s 20 prvky vypadat takto:
double salary ( 20 );
Inicializace pole
Jakmile je pole deklarováno, může být inicializováno příslušnými hodnotami. Počet hodnot přiřazených k poli nesmí nikdy překročit velikost pole uvedeného v deklaraci.
Pojďme tedy deklarovat pole o velikosti 5 a zadejte celé číslo a pojmenujte jej jako myarray.
int myarray(5);
Hodnoty můžeme jednotlivě přiřadit prvkům pole takto:
myarray(0) = 1; myarray(1) = 2; myarray(2) = 3; myarray(3) = 4; myarray(4) = 5;
Místo inicializace každého jednotlivého prvku můžeme během samotné deklarace také inicializovat celé pole, jak je znázorněno níže:
int myarray(5) = {1, 2, 3, 4, 5};
Jak je vidět výše, inicializace prvků pole na hodnoty se provádí pomocí složených závorek ({}).
V důsledku výše uvedené inicializace bude pole vypadat takto:
Můžeme také inicializovat pole bez zadání jakékoli velikosti a pouhého zadání prvků.
To se provádí, jak je znázorněno níže:
int myarray() = {1, 2, 3, 4, 5};
V tomto případě, když není zadána velikost pole, kompilátor přiřadí velikost rovnou počtu prvků, se kterými je pole inicializováno. Ve výše uvedeném případě tedy bude velikost myarray 5.
jak otevřít soubor swf na chromu
Přístup k prvkům pole
K prvkům pole lze přistupovat pomocí indexu pole. Index pole vždy začíná od 0 a jde do arraySize-1.
Syntaxe pro přístup k prvkům pole je následující:
arrayName(index)
Vezměme si výše uvedenou myarray jako příklad.
Pokud potřebujeme přístup k 4thprvek myarray, pak to můžeme udělat následovně:
myarray(3);
Pokud potřebujeme přiřadit 2ndprvek myarray na celočíselnou proměnnou, uděláme to takto:
int sec_ele = myarray(1);
Všimněte si, že v C ++, pokud přistupujeme k prvkům pole nad velikost pole, bude program kompilován v pořádku, ale výsledky mohou být neočekávané.
Pokud potřebujeme přistupovat ke všem prvkům pole najednou, můžeme využít iterativní konstrukce C ++, které nám umožní procházet všemi prvky pole a přistupovat k nim pomocí proměnné indexu.
Ze všech konstrukcí je smyčka for ideální pro přístup k polím, protože smyčka „for“ podle definice používá indexovou proměnnou k procházení sekvence a také automatické přírůstky po každé iteraci.
Například,vezměte stejnou myarray definovanou dříve. Pomocí smyčky for je kód pro přístup k prvkům myarray uveden níže:
for(int i = 0;i<5;i++) { cout<Ve výše uvedeném kódu je myarray procházen pomocí proměnné indexu I od 0 do 5 a prvky jsou vytištěny po každé iteraci.
Výstupem výše uvedeného kódu je:
jeden
dva
3
4
5
Kromě přístupu k prvkům pole, jak je uvedeno výše, můžeme také přistupovat k prvkům pole a používat je s ostatními operátory právě tak, jak používáme proměnné k provádění všech různých operací.
Zvažte následující program, který vytiskne součet všech prvků v poli:
#include include using namespace std; int main() { int myarray(5) = {10, 20,30,40,50}; int sum = 0; for(int i = 0;i<5;i++) { sum += myarray(i); } cout<<'Sum of elements in myarray:
'<Ve výše uvedeném kódu deklarujeme a inicializujeme pole s názvem myarray. Inicializujeme také proměnný součet na 0, Poté projdeme myarray pomocí smyčky for a přidáme každý prvek pole k součtu.
Konečný výstup daný programem je součtem všech prvků v myarray a bude vypadat následovně:
Součet prvků v myarray:
150
Jak ukazuje program, můžeme přistupovat k prvkům pole buď jednotlivě nebo najednou pomocí iterativní smyčky a také provádět různé operace s prvky pole stejným způsobem, jako provádíme operace s proměnnými.
Závěr
S tímto se dostáváme na konec tohoto článku o polích, která popisovala základy pole - deklarování, inicializaci a přístup k prvkům pole.
V následujících několika článcích budeme diskutovat více o vícerozměrných polích, ukazateli pole, funkčních polích atd. Spolu s dalšími koncepty.
Doufáme, že jste z tohoto informativního tutoriálu museli získat více znalostí o Arrays v C ++.
=> Přečtěte si sérii školení Easy C ++.
Doporučené čtení