1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| #include "stdafx.h"
#include <stdlib.h>
#include <locale.h>
void main()
{
setlocale(LC_ALL,"Russian");
unsigned int y=2,x=3,i=1;
unsigned int *xp=&x, *yp=&y;
printf("Размер x, *xp, y, *yp *yp:\n%i %i %i %i\n\n", sizeof(x),sizeof(*xp), sizeof(y),sizeof(*yp)); //кол-во байт под переменную и указатель
printf("Значения x, *xp, y, *yp:\n%f %f %f %f\n\n", x, *xp, y, *yp); //значения переменных и указателей
printf("Адреса x, *xp, y, *yp:\n%p %p %p %p\n\n", &x, &xp, &y, &yp); //адреса переменных и указателей
printf("Результат вычитания указателей *xp-*yp:\n%f\n\n", *xp-*yp);
printf("Сложение указателей с целым числом (i=1) *xp+i, *yp+i:\n%f %f\n\n", *xp+i, *yp+i);
printf("Вычитание из указателей целого числа (i=1) *xp-i, *yp-i:\n%f %f\n\n", *xp-i, *yp-i);
printf("Декремент x, *xp, y, *yp:\n%f %f %f %f\n\n",--x, -*xp, -y, -*yp);
printf("Инкремент x, *xp, y, *yp:\n%f %f %f %f\n\n",++x, ++*xp, ++y, ++*yp);
printf("Отношения *xp==*yp, *xp<=*yp, *xp<*yp, *xp>*yp, *xp>=*yp, *xp!=*yp:\n%i %i %i %i %i %i\n\n",*xp==*yp, *xp<=*yp, *xp<*yp, *xp>*yp, *xp>=*yp, *xp!=*yp);
unsigned int *xpp=&*xp;
printf("Указатель *xpp на указатель *xp\nАдрес: %p:\nЗначение: %f\n\n",&xpp, *xpp);
system("pause");
} |