Дефиниране на масиви
Масивите са производни типове, които представляват колекция от стойности с еднакъв тип. За даден тип T
, типът T[size]
представлява типът масив от size
елемента от типа T
.
Например:
T tarray[10]; int iarray[42];
В ред 1 е дефиниран масив от 10 елемента от типа T
. В ред 2 е дефиниран масив от 42 елемента от типа int
.
Изразът size, който определя размера на масива, трябва да бъде константен израз. Елементите на масива се индексират с числата от 0 до size-1
. Например:
int iarr[42]; iarr[0]=1; iarr[41]=42; iarr[42]=43; // грешка!
Индексът на първият елемент на масива iarr
е нула (виж ред 2), индексът на последния 42-ри елемент на масива е 41 (виж ред 3). Използването на размера на масива като индекс е грешка (виж ред 4).
Многомерните масиви в C и C++ се дефинират като масиви от масиви. Например, ако е необходим двумерен масив, то декларацията е следната:
int d2[5][10];
Инициализация на масив
Началните стойности на елементите на даден масив, могат да се присвоят като се използва списък от стойности.
int iarr[4]={0,1,2,3}; char carr[6]={'H','e','l','l','o','\0'};
Когато се използва инициализация на елементите на масива, то размерът на масива може да се пропусне. В такъв случай размерът на масива се определя от броя на елементите в инициализиращия списък. Например:
int v[]={1,2,3,4}; char ac[]={'a','b','c'};
Дефинираният в ред 1 масив има 4 елемента, а дефинираният в ред 2 – 3 елемента.
Обърнете внимание, че когато размерът на масива е указан явно, инициализирането на масива със списък, съдържащ повече елементи е грешка.
int v[2]={1,2,3}; // Грешка!
Ако в списъка за инициализация на масива броят на елементите е по-малък от размера на масива, то на неинициализираните елементи се присвоява стойност по подразбиране. Следната инициализация
int v[4]={1,2};
е еквивалентна на
int v[]={1,2,0,0};
Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране