Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 1.9.2 Оголошення та звертання в одновимірних масивах - Програмування С, С++теорія та практика (частина 1) - Studbook
Главная->Інформатика та програмування->Содержание->1.9.2 Оголошення та звертання в одновимірних масивах

Програмування С, С++теорія та практика (частина 1)

1.9.2 Оголошення та звертання в одновимірних масивах

Форма оголошення одновимірного масиву з явною вказівкою кількості елементів масиву:

тип ім'я_масива [кількість-елементів-масива];

Звертання до елементів одновимірного масиву в загальному випадку можна представити індексуванням, тобто у вигляді

ім'я-масива [вираз];

де ім‘я-масиву - покажчик-константа;

вираз - індекс, число цілого типу; він визначає зсув - збільшення адреси заданого елемента масиву щодо адреси нульового елемента масиву.

Елементи одновимірного масиву розташовуються в ОП підряд: нульовий, перший і т д. Приклад оголошення масиву: іп£ а[10];

іп£ *р = а;   /* - р одержує значення а */

При цьому компілятор виділяє масив в стеку ОП розміром (і'І2во/(Туре) * розмір-масиву) байтів.

У вищенаведеному прикладі це 2 * 10 = 20 байтів. Причому а - покажчик-константа, адреса початку масиву, тобто його нульового елемента, р - змінна; змінній р можна присвоїти значення одним із способів: р = а; р = &а[0] ; р = &а[і];

де &а[і] == (а + і) - адреса і-елемента масиву.

Відповідно до правил перетворення типів значення адреси і- елемента масиву на машинному рівні формується таким чином:

&а[і]= а + і * зі2ео£(іп£);

Справедливі також наступні співвідношення:

&а == а+0 == &а[0] - адреса а[0] - нульового елемента масиву; а+2 == &а [2] - адреса а[2] - другого елементи масиву; а+і == &а[і] - адреса а[і] - і-го елемента масиву;

*а==* (а+0) ==* (&а[0]) ==а[0] - значення 0-ого елемента масиву; *(а + 2) == а[2] - значення а[2] - другого елементи масиву;

*(а + і) == а [і] - значення а[і] - і-го елемента масиву;

*а + 2 == а[0] + 2 - сума значень а[0] і 2.

Якщо р - покажчик на елементи такого ж типу, які і елементи масиву а та р=а, то а та р взаємозамінні; при цьому: р == &а[0] == а + 0; р+2 == &а[2] == а + 2;

*(р + 2) == (&а[2]) == а[2] == р[2];

*(р + і) == (&а[і]) == а[і] == р[і];

Для а тар еквівалентні всі звертання до елементів а у вигляді: а[і], * (а+і) , * (і+а) , і[а], та р[і], *(р+і), *(і+р), і[р]

 

51