Як створити масив.

Масиви є однією з найпростіших і, можливо, найбільш використовуваною формою структурованого зберігання даних при обробці інформації в комп'ютерних програмах. Основна їх перевага - можливість дуже швидкого доступу до елементу за його порядковому номеру (індексу). Створити масив в мові C ++ можна кількома способами.
Вам знадобиться
  • - текстовий редактор;
  • - компілятор С ++.
Інструкція
1
Створіть масив фіксованого розміру. Його декларація повинна містити тип значень, ідентифікатор змінної і специфікацію розмірності із зазначенням кількостей елементів. Наприклад, одновимірний масив цілих значень, що складається з десяти елементів, можна визначити так: int aNumbers [10]; Подібним чином можна створювати і багатовимірні масиви: int aNumbers [3] [4]; Для ініціалізації подібних змінних можна використовувати літерали масивів: int aNumbers_1 [10] = {1, 2, 3}; int aNumbers_2 [3] [3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; Зверніть увагу на те, що кількість елементів літеральних масивів-ініціалізаторов може бути менше ніж у ініціалізіруемих їм змінних. В цьому випадку частини елементів масиву-приймача просто не будуть присвоєні значення.
2
Створіть масив, обсяг якого визначається ініціалізувалися літералом. Декларуйте масив, що не специфікуючи його розмір. Масиви , визначені подібним чином, обов'язково повинні бути ініціалізовані: int aNumbers [] = {1, 2, 3}; Таким же чином можна створювати багатовимірні масиви. Однак «змінним» допускається робити тільки одне, перший вимір: int aNumbers [] [3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {0, 1, 2}}; Даним способом дуже зручно визначати статичні константні масиви. Їх обсяг може бути обчислений на етапі компіляції з використанням ключового слова sizeof.
3
Створіть масив в динамічно розподіляє пам'яті. Визначте покажчик на значення типу елемента масиву. Виділіть пам'ять під необхідну кількість даних. Присвойте вказівником значення адреси першого байта виділеного блоку. Використовуйте функції розподілу пам'яті бібліотеки C (calloc, malloc), оператор new C ++ або платформ-специфічні функції (такі як VirtualAlloc, VirtualAllocEx в Windows). Наприклад: int * paNumbers_0 = (int *) malloc (sizeof (int) * 10); int * paNumbers_1 = new int (10); paNumbers_0 [1] = 0xFF;//Доступ до елементуpaNumbers_1 [2] = 0xFF;//Доступ до елементуПосле закінчення використання створених таким чином масивів, необхідно звільнити виділену пам'ять: free (paNumbers_0); delete [] paNumbers_1;
4
Створіть об'єкт класу, що реалізовує функціонал масиву. Подібні класи або шаблони класів містяться в багатьох популярних фреймворків і бібліотеках. Так, у стандартній бібліотеці шаблонів C ++ (STL) мається контейнер std :: vector. Створити і використовувати масив на його основі можна таким чином: std :: vector oVector;//Декларація об'єкта масиву oVector.resize (10);//Зміна розміру массіваoVector [0] = 1;//Доступ до елементуoVector.push_back (0xFF);//Додавання елемента в конецОбратіте увагу на те, що через автоматичного управління пам'яттю і наявності зручних методів модифікації (зміна розміру, додавання елементів, і т.д.), використання подібних класів часто буває більш доцільним, ніж застосування масивів в стилі C .