Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Динамічні масиви .

В С++ існує зв'язок між вказівниками і масивами, і зв'язок дуже тісний . Будь-який доступ до елемента масиву, який здійснений операцією індексації, може бути виконаний за допомогою вказівника. Варіант з вказівниками в загальному випадку працює швидше, але розібратися в ньому досить важко.

Оголошення

int а[10]; визначає масив а розміру 10, тобто блок з 10 послідовних об'єктів з іменами а[0], а[1] ..., а[9].

Запис а[i] посилає нас до i-го елемента масиву. Якщо pa є вказівник на int, тобто оголошений як int *pa; то в результаті присвоєння pa = &a[0]; pa вказуватиме на нульовий елемент а, інакше кажучи, pa міститиме адресу елемента а[0]. Тепер

присвоєння x = *pa; копіюватиме вміст а[0] в x. Якщо pa указує на деякий елемент масиву, то pa+1 за визначенням вказує на наступний елемент, pa+i - на i-й елемент після pa, а pa-i - на i-й елемент перед pa. Таким чином, якщо pa вказує на а[0], то

*(pa+1) є вміст а[1], a+i - адреса а[i], а *(pa+i) - вміст а[i].

Зроблені зауваження вірні незалежно від типу і розміру елементів масиву а. Значення слів "додати 1 до вказівника", як і значення будь-якої арифметики з вказівниками, полягає в тому, щоб pa+1 вказував на наступний об'єкт, а pa+i - на i-й після pa.

Між індексацією і діями з покажчиками існує дуже тісний зв'язок. За визначенням значення змінної або вирази типу масив є адреса нульового елемента масиву. Після присвоєння pa = &a[0]; ра і а мають одне і те ж значення. Оскільки ім'я масиву є синонімом розташування його початкового елемента, присвоєння pa=&a[0] можна також записати в наступному вигляді:

pa = а;

Але а[i] можна записати як *(a+i). Обчислюючи а[i], С++ відразу перетворить його в *(a+i); вказані дві форми запису еквівалентні. З цього виходить що отримані в результаті вживання оператора & записи &a[i] і a+i також будуть еквівалентними, тобто і в тому і в іншому випадку це адреса i-го елемента після а. З другого боку, якщо pa - вказівник, то його можна використовувати з індексом, тобто запис pa[i] еквівалентний запису *(pa+i). Коротше кажучи, елемент масиву можна зображати у як вигляді вказівника із зсувом, так і у вигляді імені масиву з індексом.

Між ім'ям масиву і вказівником, виступаючим в ролі імені масиву, існує одна відмінність. Вказівник - це змінна, тому можна написати pa=a або pa++. Але ім'я масиву не є змінним, і записи на зразок a=pa або a++ не допускаються.

 


Читайте також:

  1. Аеродинамічні властивості колісної машини
  2. Важкість праці: Динамічні, статичні навантаження. Напруженість праці. Увага, напруженість аналізаторних функцій, емоційна та інтелектуальна напруженість, монотонність праці.
  3. Виходячи з запропонованого способу зварювання та отриманих параметрів режиму зварювання встановлюються необхідні для процесу статичні і динамічні характеристики обладнання.
  4. Вказівники на функції. Масиви вказівників на функції
  5. Гемодинамічні фактори судинної стінки
  6. Геодинамічні процеси у озерах і болотах
  7. Геометричні, кінематичні, силові та динамічні параметри
  8. Гідродинамічні аварії
  9. Гідродинамічні аварії.
  10. Гідродинамічні аварії. Методика оцінки інженерного cтану при них і заходи захисту населення та території
  11. Гідродинамічні коливання тиску
  12. Гідродинамічні об’єкти та причини їх виникнення.




Переглядів: 744

<== попередня сторінка | наступна сторінка ==>
Адреси даних. Вказівники. | машиналар – 31

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.017 сек.