Matricile în c

Astăzi vom vorbi despre matrice. Știți deja că o variabilă - o celulă în memoria calculatorului, în cazul în care acesta poate fi stocată o singură valoare. Array - este o memorie care poate stoca mai multe valori ale seriei.







Ia un grup de elevi din zece oameni. Fiecare dintre ele au un nume de familie. Creați o variabilă separată pentru fiecare elev - nu este rațional. Creați o matrice în care pentru a stoca numele tuturor elevilor.

EXEMPLU matrice de inițializare

Descriere sintaxă

Pentru a descrie elementele unei matrice odată ce este creat un loc de muncă, puteți folosi acolade. Acolade valori matrice separate prin virgulă. La sfârșitul bretele de închidere a unui virgulă.

Să încercăm să aducem oferta noastră de pe ecran folosind declarația cout.

Compilați acest cod si uita-te la rezultatul programului. Gata? Acum, rulați programul din nou și comparați cu rezultatul anterior. În concluzia mea a fost sistemul de operare, după cum urmează:

  • Prima concluzie: 0x7ffff8b85820
  • A doua concluzie: 0x7fff7a335f90
  • A treia concluzie: 0x7ffff847eb40

Să încercăm să aducem primul element al șirului - numele studentului Ivanov.

Ne uităm, compila, a alerga. Suntem văzut, pe care a făcut-o „Ivanov“. Rețineți că numerotarea elementelor unei matrice în C ++ pornind de la zero. Prin urmare, primul nume de student este în elevii [0]. și numele - studenților [9].







În cele mai multe limbaje de programare numerotarea elementelor din matrice, de asemenea, începe de la zero.

Să încercăm să lista tuturor elevilor. Dar, mai întâi cred, ce se întâmplă dacă, în loc de un grup de zece elevi ar fi președintele de o sută, Facultatea de mii, sau chiar întreaga universitate? Ei bine, nu vom scrie zeci de mii de siruri de caractere cout?

Bineînțeles că nu! Vom adopta cicluri, care a fost scris de lecția precedentă.

Ieșirea elementelor de matrice prin bucla

Dacă ar fi să afișeze o serie de mai multe mii de familii, atunci ar fi crescut pur și simplu valoarea finală a contorului buclei - linia de (; i. <10;. ) заменили на for (. ; i <10000;. ) .

Rețineți că contra noastră ciclu începe de la zero și se termină nouă. În cazul în care, în loc de operator strict inegalitate - i <10 использовать оператор «меньше, либо равно» — i <= 10. то на последней итерации программа обратится к несуществующему элементу массива — students[10]. Это может привести к ошибкам сегментации и аварийному завершению программы. Будьте внимательны — подобные ошибки бывает сложно отловить.

Elementele unui astfel de matrice este de obicei conțin „nedorită“ din memoria selectată, dar nu a fost încă inițializat,. Unele compilatoare, cum ar fi CCG, umplut cu toate elementele de matrice cu zerouri atunci când acesta este creat.

Când creați o matrice statică, singura constantă este utilizat pentru a indica dimensiunea sa. Dimensiunea memoriei de alocare este determinată la momentul compilării, și nu pot fi schimbate în timpul execuției.

Alocarea memoriei în timpul rulării este posibil atunci când se lucrează cu matrice dinamice. Dar despre ele mai târziu.

Umple matrice tastatura goală de 10 elemente.

Completarea unei tastaturi matrice

Noi compila programul și să verifice funcționarea acestuia.