c arrays with examples
Kaj so nizi v jeziku C ++? Zakaj so uporabni?
brezplačni ponudniki e-poštnih računov v ZDA -
V tem Izpolnite serijo usposabljanj za C ++ , si bomo v tej vadnici ogledali nize v jeziku C ++.
Matriko v jeziku C ++ lahko preprosto definiramo kot zbirko podatkov.
Če ena od aplikacij, ki jo načrtujem, zahteva 100 spremenljivk celoštevilčnega podatkovnega tipa. Nato bom z uporabo deklaracije spremenljivke moral prijaviti 100 različnih celoštevilnih spremenljivk. To pa bo resnično okorno.
Namesto tega, kaj pa, če razglasim eno samo spremenljivko, ki ima sosednjih 100 pomnilniških mest? Tu se pojavijo nizi.
Kaj se boste naučili:
Polja v jeziku C ++
Matriko lahko definiramo kot zbirko spremenljivk istega podatkovnega tipa in ima sosednje pomnilniške lokacije.
Torej, če definiram matriko 100 celih števil, bo njena predstavitev v pomnilniku nekoliko takšna, kot je prikazano spodaj:
Kot je prikazano zgoraj, so 0… 99 pomnilniška mesta za to polje in so sosednja. Prazne plošče so dejanski elementi matrike. Do posameznih elementov polja je mogoče dostopati s pomočjo indeksa. V zgornjem diagramu je prvi indeks matrike 0, zadnji indeks pa 99 (ker gre za matriko s 100 elementi) .0 1 2 3 4 5 ……. … .. 99.
Upoštevajte, da je začetni indeks matrike vedno 0. Tako je za matriko z n elementi začetni indeks matrike 0, zadnji indeks pa n-1.
Navedite polje
Izjava matrike v jeziku C ++ je na splošno videti, kot je prikazano spodaj:
datatype arrayName ( arraySize );
Zgornja izjava je namenjena enodimenzionalni matriki. Tu je podatkovni tip kateri koli podatkovni tip, sprejemljiv v jeziku C ++. ‘ArrayName’ je ime matrike, ki jo ustvarjamo, medtem ko je arraySize, ki je vedno zaprta v oglatih oklepajih (()), število elementov, ki jih bo matrika vsebovala. ArraySize mora biti vedno konstanten izraz.
Na primer, če moram prijaviti polje z imenom myarray z 10 elementi tipa Integer, bo izjava videti tako :
int myarray (10);
Podobno bo izjava za polje 'plača' tipa double z 20 elementi videti, kot je prikazano spodaj:
double salary ( 20 );
Inicializacija matrike
Ko je matrika razglašena, jo je mogoče inicializirati z ustreznimi vrednostmi. Število vrednosti, dodeljenih matriki, ne sme nikoli presegati velikosti polja, navedenega v deklaraciji.
Torej, razglasimo polje velikosti 5 in vtipkamo celo število in ga poimenujemo kot myarray.
int myarray(5);
Vrednosti elementom matrike lahko dodelimo posamezno, kot sledi:
myarray(0) = 1; myarray(1) = 2; myarray(2) = 3; myarray(3) = 4; myarray(4) = 5;
Namesto inicializacije vsakega posameznega elementa lahko med samo izjavo inicializiramo celotno matriko, kot je prikazano spodaj:
int myarray(5) = {1, 2, 3, 4, 5};
Kot je razvidno zgoraj, se inicializacija elementov polja z vrednostmi izvede z uporabo zavitih oklepajev ({}).
Kot rezultat zgornje inicializacije bo matrika videti, kot je prikazano spodaj:
Polja lahko tudi inicializiramo, ne da bi določili kakršno koli velikost in samo tako, da določimo elemente.
To se naredi, kot je prikazano spodaj:
int myarray() = {1, 2, 3, 4, 5};
V tem primeru, ko velikost matrike ni podana, prevajalnik dodeli velikost, ki je enaka številu elementov, s katerimi je matrika inicializirana. Tako bo v zgornjem primeru velikost miarray 5.
Dostop do elementov matrike
Do elementov matrike je mogoče dostopati z indeksom matrike. Indeks matrike se vedno začne od 0 do arraySize-1.
Sintaksa dostopa do elementov matrike je naslednja:
arrayName(index)
Za primer vzemimo zgoraj navedeno miarijo.
Če moramo dostopati do 4thelement myarray, lahko to storimo na naslednji način:
myarray(3);
Če moramo dodeliti 2ndelement myarray na celoštevilčno spremenljivko, potem to storimo na naslednji način:
razglasitev niza predmetov v javi
int sec_ele = myarray(1);
Upoštevajte, da bo v jeziku C ++ program, če dostopamo do elementov matrike, ki presegajo velikost matrike, v redu, a rezultati so lahko nepričakovani.
Če moramo hkrati dostopati do vseh elementov matrike, lahko uporabimo iterativne konstrukte C ++, ki nam bodo omogočili, da se bomo pomikali po vseh elementih matrike in dostopali do njih s pomočjo indeksne spremenljivke.
Od vseh konstruktov je zanka for idealna za dostop do nizov, saj zanka 'for' po definiciji uporablja indeksno spremenljivko za prehod skozi zaporedje in tudi samodejne korake po vsaki ponovitvi.
Na primer,vzemite isti miarray, definiran prej. Uporaba zanke for za dostop do elementov myarray je prikazana spodaj:
for(int i = 0;i<5;i++) { cout<V zgornji kodi se myarray prečka z indeksno spremenljivko I od 0 do 5 in elementi se natisnejo po vsaki ponovitvi.
Rezultat zgornje kode je:
1.
dva
3.
4.
5.
Poleg dostopa do elementov matrike, kot je prikazano zgoraj, lahko tudi do elementov matrike dostopamo in jih uporabimo z drugimi operaterji ravno na način, na katerega s spremenljivkami izvajamo vse različne operacije.
Razmislite o naslednjem programu, ki natisne vsoto vseh elementov v matriki:
#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:
'<V zgornji kodi deklariramo in inicializiramo polje z imenom myarray. Prav tako inicializiramo spremenljivko sum na 0, nato prehodimo myarray z zanko for in dodamo vsak element matrice vsoto.
Končni rezultat, ki ga da program, je vsota vseh elementov v nešteto in bo videti tako:
Vsota elementov v nešteto:
150
Kot je prikazano v programu, lahko do elementov matrice dostopamo posamično ali naenkrat z uporabo iteracijske zanke in izvajamo tudi različne operacije elementov matrike na enak način kot izvajamo operacije nad spremenljivkami.
Zaključek
S tem smo prišli do konca tega članka o nizih, ki so opisali osnove matrike - razglasitev, inicializacija in dostop do elementov matrike.
V naslednjih nekaj člankih bomo skupaj z drugimi koncepti razpravljali o večdimenzionalnih nizih, kazalcu matrike, nizih v funkciji itd.
Upamo, da ste iz te informativne vadnice pridobili več znanja o Arrays v C ++.
=> Preberite serijo Easy C ++ Training Series.
Priporočeno branje