1-1 Программирование С++ / html / modules / 016 / content / content1
.htmlІнформатика — Теорія — Оголошення та звертання в одновимірних масивах Автори
|
Контакти
|
Підсистема допомоги
|
Методичні вказівки
|
Анотація
|
Назад
ІнформатикаМасиви та покажчики : Оголошення та звертання в одновимірних масивахЗміст курсу
Вступ
Теорія
Оголошення та звертання в одновимірних масивах
Оголошення та звертання до багатовимірних масивів
Масиви покажчиків
Практика
Практичне заняття 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