logo search
ООП для Заоч / Пинчук Лозовская Программир на С

Void main()

{ double x[100];

double *p1= &x[10], *p2= &x[20];

printf("p2-p1 = %d \n",p2-p1);

}

отримаємо на екрані наступне:

p2 - p1 = 10

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

Застосовуються покажчики в більшості випадків для роботи з масивами, для програмування операцій з динамічними об'єктами, а також у якості параметрів функцій. Нижче наведено цікавий приклад використання покажчика на тип char для побудови функції strcpy, що здійснює копіювання символів з рядка s2 у рядок s1: