Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Інші операції над вказівниками

Декрементування вказівників

Ptz_to_short+4

Інкрементування вказівників.

План

  1. Інкрементування вказівників.
  2. Декрементування вказівників.
  3. Інші операції над вказівниками.

 

Адресу першого елементу масиву легко отримати через вказівник – його імя. Щоб вказуватися на наступні елементи, вказівник повинен отримати прирощення кратні розміру елементів масиву. Для того, щоб звернутися до елементів масиву за допомогою вказівника, існує адресна арифметика.

По суті справи вона зводиться лише до двох операцій – інкрементування та декрементування вказівників.

 

Інкрементувати вказівник – означає збільшити йог значення. Тобто, якщо значення вказівника інкрементується на одиницю, адресна арифметика автоматично збільшує зберігаючу адресу таким чином, щоб він вказував на наступний елемент масиву. Іншими словами компілятор знає тип вказівника з його декларації і збільшує адресу, що в ньому зберігається на довжину елементу даних.

Припустимо. Що ptz­_to_short є вказівником на будь-який елемент масиву типу short. Нехай виконується оператор

ptz_to_short++

В результаті чого значення ptz­_to_short збільшиться на довжину типу short (зазвичай 2 байти). Аналогічно для будь-якого типу.

Це твердження справедливе і для прирощення більш ніж на одиницю. Якщо додати до вказівника число n, то компілятор «пересуне» вказівник по масиву на n елементів відповідного типу.

цей оператор фактично збільшує значення вказівника на 8(з огляду на те, що довжина типу short=2б.), а сам вказівник буде вказувати на елемент, що знаходиться на 4 позиції далі.

Все, що було сказане про інкрементування, справедливе і щодо деінкрементування. Тобто декрементування це додавання від’ємного члена. Якщо дерементувати вказівник за допомогою - - або - =, адресна арифметика компілятору. Автоматично підстроїться під розмір елементів масиву.

Треба пам’ятати, що не можна інкрементувати та декрементувати вказівники сталі (константи) – це імена масивів без квадратних дужок. Також треб пам’ятати, що при звертанні до масиву через вказівники компілятор не слідкує за дотриманням, тобто за початком та кінцем масиву.

 

Присвоювання Вказівникові можна присвоїти значення:присвоїти адресу, отриману операцією &, або взятий з адресної константи (імені масиву)
Посилання за вказівником (за адресою) Операція посилання (*) дає значення, що знаходиться у змінній на яку є вказівка.
Отримання адреси Можна застосувати і до вказівника, отримавши вказівник на вказівник.
Інкремент Декремент Додавання або віднімання цілого числа дає нову адресу в пам’яті.
Обчислення зміщення Відстань між вказівниками (або елементами) обчислення за допомогою віднімання
Порівняння Операція дійсна лише для вказівників на один масив

 

<== предыдущая лекция | следующая лекция ==>
Системи передачі по повітряних лініях | Особенности
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 2869; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.