русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Вказівники-константи і вказівники-змінні


Дата додавання: 2014-04-22; переглядів: 917.


Припустімо, що ми хочемо використати операцію збільшення замість додавання j до імені intarray. Чи можна записати вираз *(intarray++)?

Так зробити не можна, оскільки не можна міняти константу. Вираз intarray є адресою в пам’яті, де наш масив зберігатиметься до кінця роботи програми, тому intarray – вказівник константи. Ми не можемо записати intarray++, так само як не можемо записати 7++. Натомість можна збільшити вказівник, який містить цю адресу. В програмі 12.7 показано, як це можна зробити:

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<bios.h>

int main()

{clrscr();

int intarray[5]={31,54,77,52,93};

int* ptrint;

ptrint=intarray;

for(int j=0;j<5;j++)

cout<<*(ptrint++)<<endl;

bioskey(0);

return 0;

}

Програма 12.7

Тут ми визначили вказівник на int – ptrint – і потім присвоїли йому значення адреси масиву intarray. Тепер ми можемо дістати доступ до елементів масиву, використовуючи вираз:

*(ptrint++)

 

Вказівники і функції

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

 


<== попередня лекція | наступна лекція ==>
Вказівник на void | Передача простої змінної


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн