asyan.org
добавить свой файл
1
Ініціалізація масивів.
При визначенні масивів ­можлива їх ініціалізація, тобто присвоювання початкових значе­нь їх елементам. По суті (точніше по результату), ініціалізація - це об'єднання визначення об'єкту з одночасним присвоюванням йому конкретного значення. Використання ініціалізації дозволяє змінити формат визначення масиву. Наприклад, можна явно не вказувати кількість елементів одновимірного масиву, а тільки перерахувати їх початкові значення в списку ініціалізації:

double d[ ]={1.0, 2.0, 3.0, 4.0, 5.0};

В даному прикладі довжину масиву компілятор обчислює по кількості початкових значень, перерахованих у фігурних дужках. Після такого визначення елемент d[0] рівний 1.0, d[l] рівний 2.0 і т.д. до d[4], який рівний 5.0. Якщо у визначенні масиву явно вказаний його розмір, то кількість початкових значень не може бути більше кількості елементів в масиві. Якщо кількість початкових значень менше ніж оголошена довжина масиву, то початкові значення отримають тільки перші елементи масиву (з меншими значе­ннями індексу):

int M[8]={8,4,2};

В даному прикладі визначені значення тільки змінних М[0], М[1] і М[2], рівні відповідно 8, 4 і 2. Елементи М[3]..., М[7] не ініціалізувалися. Правила ініціалізації багатовимірних масивів відповідають визначенню багатовимірного масиву як одновимірного, елементами якого є масиви, розмірність яких на одиницю менше ніж у початкового масиву. Одновимірний масив ініціалізувався вкладеним у фігурні дужки списком початкових значень. В свою чергу, початкове значення, якщо воно відноситься до масиву, також є заключений у фігурні дужки список початкових значень. Наприклад, присвоїти початкові значення дійсним елементам двовимірного масиву А, що складається з трьох "рядків" і двох "стовпців", можна таким чином: double А[3][2]={{10,20}, {30,40}

{50,60}};

Цей запис еквівалентний послідовності операторів привласнення: А[0][0]=10; А[0][1]=20; А[1][0]=30; А[1][1]=40; А[2][0]=50; А[2][1]=60;. Той же результат можна отримати з одним списком ініціалізації:

double A[3][2]={10,20,30,40,50,60};

За допомогою ініціалізації можна присвоювати значення не всім елементам багатовимірного масиву. Наприклад, щоб іні­ціалізувати тільки елементи першого стовпця матриці, її можна описати так:

double Z[4][6]={{1},{2},{3},{4}};

Наступний опис формує "трикутну матрицю" в цілочисельному масиві з 5 рядків і 4 стовпців: int x[5][4]={{1},{2,3}, {4,5,6}, {7,8,9,10} };

В даному прикладі останній п'ятий рядок х[4] залишається не­заповнений. Перші три рядки заповнено не до кінця.