c arrays with examples
Què són els array a C ++? Per què són útils?
En aquest Sèrie d'entrenament completa de C ++ , farem un cop d'ull a Arrays en C ++ en aquest tutorial.
La matriu en C ++ es pot definir simplement com una col·lecció de dades.
Si una de les aplicacions que estic dissenyant requereix 100 variables del tipus de dades enter. Després, mitjançant la declaració de variables, hauré de declarar 100 variables enteres diferents. Això, al seu torn, serà realment feixuc.
En lloc d'això, què tal si declaro una única variable que conté 100 ubicacions de memòria contigües? Aquí és on apareixen les matrius.
Què aprendreu:
Matrius a C ++
Una matriu es pot definir com una col·lecció de variables del mateix tipus de dades i té ubicacions de memòria contigües.
millor bloquejador d’anuncis per a mac chrome
Per tant, si defineixo una matriu de 100 enters, la seva representació de memòria serà una mica com es mostra a continuació:
Com es mostra més amunt, 0 ... 99 són ubicacions de memòria per a aquesta matriu i són contigües. Els panells en blanc són els elements reals de la matriu. Es pot accedir als elements individuals d’una matriu mitjançant l’índex. Al diagrama anterior, el primer índex de la matriu és 0 mentre que l'últim índex és 99 (ja que es tracta d'una matriu de 100 elements) .0 1 2 3 4 5 ...... ... .. 99.
Tingueu en compte que l'índex inicial d'una matriu sempre és 0. Per tant, per a una matriu de n elements, l'índex inicial de la matriu serà 0 i l'últim índex serà n-1.
Declareu una matriu
La declaració de matriu en C ++ sol ser la següent:
datatype arrayName ( arraySize );
La declaració anterior és per a una matriu unidimensional. Aquí, el tipus de dades és qualsevol tipus de dades acceptable en C ++. 'ArrayName' és el nom de la matriu que estem creant, mentre que arraySize sempre entre claudàtors (()) és el nombre d'elements que contindrà la matriu. El arraySize ha de ser sempre una expressió constant.
Per exemple, si he de declarar una matriu anomenada myarray amb 10 elements del tipus Integer, la declaració serà semblant :
int myarray (10);
De la mateixa manera, la declaració d'un 'salari' de matriu de tipus doble amb 20 elements tindrà el següent aspecte:
double salary ( 20 );
Inicialització d'una matriu
Un cop declarada una matriu, es pot inicialitzar amb els valors adequats. El nombre de valors assignats a la matriu mai no superarà la mida de la matriu especificada a la declaració.
Per tant, declarem una matriu de mida 5 i escrivim enter i l’anomenem myarray.
int myarray(5);
Podem assignar els valors als elements de la matriu un per un de la següent manera:
myarray(0) = 1; myarray(1) = 2; myarray(2) = 3; myarray(3) = 4; myarray(4) = 5;
En lloc d'inicialitzar cada element individual, també podem inicialitzar tota una matriu durant la declaració, tal com es mostra a continuació:
int myarray(5) = {1, 2, 3, 4, 5};
Com es va veure anteriorment, la inicialització dels elements de matriu als valors es fa mitjançant claus ({}).
Com a resultat de la inicialització anterior, la matriu es veurà com es mostra a continuació:
També podem inicialitzar matrius sense especificar cap mida i només especificant els elements.
Això es fa com es mostra a continuació:
int myarray() = {1, 2, 3, 4, 5};
En aquest cas, quan no s’especifica la mida d’una matriu, el compilador assigna la mida igual a un nombre d’elements amb els quals s’inicialitza la matriu. Així, en el cas anterior, la mida del myarray serà de 5.
Accés a elements de matriu
Es pot accedir als elements de matriu mitjançant l’índex de matriu. L’índex de matriu sempre comença a partir de 0 i va fins a arraySize-1.
La sintaxi per accedir als elements de la matriu és la següent:
arrayName(index)
Prenem com a exemple la matèria declarada anteriorment.
Si necessitem accedir al 4thelement de myarray, ho podem fer de la següent manera:
myarray(3);
Si necessitem assignar el 2ndelement de la matriu a una variable sencera, ho fem de la següent manera:
int sec_ele = myarray(1);
Tingueu en compte que en C ++, si accedim als elements de la matriu més enllà de la mida d’una matriu, el programa compilarà bé, però els resultats poden ser inesperats.
Si hem d’accedir a tots els elements de la matriu alhora, podem fer ús de construccions iteratives C ++ que ens permetran recórrer tots els elements d’una matriu i accedir-hi mitjançant una variable d’índex.
De totes les construccions, el bucle for és ideal per accedir a matrius, ja que el bucle 'for' per definició utilitza una variable índex per recórrer una seqüència i també increments automàtics després de cada iteració.
Per exemple,prengui la mateixa matèria definida anteriorment. Utilitzant per a bucle el codi per accedir als elements myarray és el que es mostra a continuació:
for(int i = 0;i<5;i++) { cout<Al codi anterior, la matriu es recorre utilitzant la variable índex I de 0 a 5 i els elements s’imprimeixen després de cada iteració.
La sortida del codi anterior és:
1
2
3
4
5
A part d’accedir als elements de la matriu tal com es mostra anteriorment, també podem accedir als elements de la matriu i utilitzar-los amb els altres operadors de la mateixa manera que fem servir les variables per realitzar totes les diferents operacions.
preguntes sobre l'entrevista de desenvolupadors de salesforce per a usuaris experimentats
Penseu en el programa següent que imprimeix la suma de tots els elements d'una matriu:
#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:
'<Al codi anterior, declarem i inicialitzem una matriu anomenada myarray. També inicialitzem la suma variable a 0 i, a continuació, recorrem la matriu utilitzant un bucle for i afegim cada element de matriu a suma.
La sortida final donada pel programa és la suma de tots els elements del myarray i tindrà el següent aspecte:
Suma d'elements en la matriu:
150
Com mostra el programa, podem accedir als elements de la matriu individualment o alhora mitjançant un bucle iteratiu i també realitzar una gran varietat d’operacions en els elements de matriu de la mateixa manera que realitzem operacions amb variables.
Conclusió
Amb això, arribem al final d’aquest article sobre matrius que descrivia els conceptes bàsics d’una matriu: declarar, inicialitzar i accedir als elements de matriu.
En els propers articles, discutirem més sobre matrius multidimensionals, indicador de matriu, matrius en funció, etc. juntament amb els altres conceptes.
Esperem que hagueu obtingut més coneixements sobre matrius en C ++ d’aquest tutorial informatiu.
=> Llegiu la sèrie de formació Easy C ++.
Lectura recomanada
- Matrius a STL
- Combina l’ordenació en C ++ amb exemples
- Matrius multidimensionals en C ++
- Ús de matrius amb funcions a C ++
- Matrius VBScript: utilitzant funcions de matriu DIM, REDIM, Split i Ubound
- Tutorial de Python DateTime amb exemples
- Talla l'ordre a Unix amb exemples
- Ordena en pila en C ++ amb exemples