{ double a,b,c,d;
..............
Допишіть програму таким чином, щоб на екран виводилися адреси змінних a,b,c,d. На яку величину відрізняються адреси цих змінних і чому саме на таку величину?
Вправа 2
Відомо, що при виконанні таких рядків програми
float x;
float* p1= &x;
покажчик p1 отримав значення 0012FF8C . Яке значення буде мати покажчик p2 після виконання наступних рядків програми:
int k = 3;
float* p2= p1+k-5;
Вправа 3
Нехай маємо такі оголошення у програмі:
float a=1.5, b=2.5, c=2.0, *p=&b;
int k=2;
Поясніть, як буде виконуватись наступний рядок у програмі:
*(p+k-1) = (a+b+c)/3;
Вправа 4
Нехай маємо такі оголошення у програмі:
float x[10], *p=NULL;
Поясніть, чому буде дорівнювати p після виконання наступного рядка програми:
p = &x+3;
Вправа 5
Які з наступних рядків програми є припустимими:
int* pa;
float *pb;
short *p1, *p2, *p3;
double** pc;
long *r, *&a = r;
char **x, **&y;
int& *z;
long &&p= &x;
Вправа 6
Маємо у програмі таке оголошення:
float x;
Треба записати оголошення посилання cx на змінну x таким чином, щоб використовуючи ім’я cx можна було добути значення об’єкту x, але не можна його змінити.
Вправа 7
Поясніть різницю у дії таких рядків програми:
char ch[ ] = "Zaporizhzhe";
char *pch = "Zaporizhzhe";
Вправа 8
Які з наступних рядків програми є помилковими:
int A[10], X[10];
int *PA, *PB;
PA=A;
PB=&A[0] ;
X=PA[3];
Вправа 9
Проаналізуйте фрагмент програми:
int *p;
int i=33;
p=&i;
*p=*p+1;
Чому дорівнює значення змінної і після виконання такого фрагменту програми? Що означає конструкція p=&i? Як інакше можна записати вираз *p=*p+1?