Масиви рядків - студопедія

У програмах на мові С часто використовуються масиви рядків. Наприклад, сервер бази даних звіряє команди користувачів з масивом допустимих команд. Як масиву рядків в мові С служить двомірний символьний масив. Розмір лівого вимірювання визначає кількість рядків, а правого - максимальну довжину кожного рядка. Наприклад, в наступному операторі оголошений масив з 30 рядків з максимальною довжиною 79 символів:

Щоб звернутися до окремому рядку масиву, потрібно вказати тільки лівий індекс. Наприклад, виклик функції gets () з третім рядком масиву str_array як аргумент можна записати так:

Цей оператор еквівалентний наступному:

З цих двох форм запису кращою є перша.

тип імя_массіва [Размер1] [Размер2]. [РазмерN];

Масиви, у яких число вимірювань більше трьох, використовуються досить рідко, тому що вони займають великий обсяг пам'яті. Наприклад, чотиривимірний масив символів розмірністю 10x6x9x4 займає 2160 байтів. Якби масив містив 2-байтові цілі, треба було б 4320 байтів. Якби елементи масиву мали тип double, причому кожен елемент (дійсне число подвійної точності) займав би 8 байтів, то для зберігання масиву треба було б 17280 байтів. Обсяг необхідної пам'яті з ростом числа вимірювань зростає експоненціально. Наприклад, якщо до попереднього масиву додати п'ятий вимір, причому його товщину за цим виміром зробити рівний всього 10, то його обсяг зросте до 172800 байтів.

то функція, приймаюча цей масив, повинна бути оголошена приблизно так:

void func1 (int d [] [3] [6] [5])