Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
31.01.2021
Размер:
7.46 Кб
Скачать

Інформатика — Теорія — Оголошення та звертання в одновимірних масивах    Автори

|

Контакти

|

Підсистема допомоги

|

Методичні вказівки

|

Анотація

|

Назад

   ІнформатикаМасиви та покажчики : Оголошення та звертання в одновимірних масивахЗміст курсу

Вступ

Теорія

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

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

Масиви покажчиків

Практика

Практичне заняття 1

Практичне заняття 2

Поточна перевірка знань

Масиви і покажчики

Версія для друку

  Оголошення та звертання в одновимірних масивах      Форма оголошення одновимірного масиву з явною вказівкою кількості елементів масиву:тип ім'я_масива [кількість-елементів-масива];.     Звертання до елементів одновимірного масиву в загальному випадку можна представити індексуванням, тобто у виглядіім'я-масива [вираз];де ім'я-масиву - покажчик-константа;вираз - індекс, число цілого типу; він визначає зсув - збільшення адреси заданого елемента масиву щодо адреси нульового елемента масиву.     Елементи одновимірного масиву розташовуються в ОП підряд: нульовий, перший і т д. Приклади оголошення масиву.int а[10]; іnt *p = а; /* - р одержує значення а */При цьому компілятор виділяє масив в стеку ОП розміром

(sizeof(Type) * розмір-масиву ) байтів.     У вищенаведеному прикладі це 4 * 10 = 40 байтів. Причому а - покажчик-константа, адреса початку масиву, тобто його нульового елемента, р - змінна; змінній р можна присвоїти значення одним із способів:р = а; р = &а[0]; р = &a[i];де &а[i] == (а + i) - адреса і-го елемента масиву.     Відповідно до правил перетворення типів значення адреси i-го елемента масиву на машинному рівні формується таким чином:&а[i]= а + i * sizeof(int);.Справедливі також наступні співвідношення:&a == a+0 == &a[0] - адреса а[0] - нульового елемента масиву;а+2 == &а[2] - адреса а[2] - другого елементи масиву;а+i == &a[i] - адреса a[i] - i-гo елемента масиву;*а==*(а+0)==*(&а[0])==a[0] - значення 0-го елемента масиву;*(а + 2) == а[2] - значення а[2] - другого елементf масиву;*(а + i) == а[i] - значення a[i] - i-гo елемента масиву;*а + 2 == а[0] + 2 - сума значень а[0] і 2.     Якщо р - покажчик на елементи такого ж типу, які і елементи масиву a та p=а, то а та р взаємозамінні; при цьому:p == &a[0] == a + 0;p+2 == &a[2] == a + 2;*(p + 2) == (&a[2]) == a[2] == p[2];*(p + i) == (&a[i]) == a[i] == p[i];     Для a та p еквівалентні всі звертання до елементів a у вигляді:a[i], *(a+i), *(i+a), i[a], та p[i], *(p+i), *(i+p), i[p].

 © 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS

Соседние файлы в папке content