#include<stdlib.h>
#include<stdio.h>
#include<math.h>
int main()
{
/* «Обычные» переменные */
int a = 1;
float b = 2;
double c = 3;
/* Указатели */
int *p1 = &a;
float *p2 = &b;
double *p3 = &c;
void *p4 = NULL;
/* Адреса «обычных» переменных и размер выделяемой памяти */
printf("a: int: start address %p extent %d\n",&a
,sizeof(a
)); printf("b: float: start address %p extent %d\n",&b
,sizeof(b
)); printf("c: double: start address %p extent %d\n\n",&c
,sizeof(c
)); /* Адреса указателей и размер выделяемой памяти */
printf("p1: pointer: start address %p extent %d\n",&p1
,sizeof(p1
)); printf("p2: pointer: start address %p extent %d\n",&p2
,sizeof(p2
)); printf("p3: pointer: start address %p extent %d\n\n",&p3
,sizeof(p3
)); printf("p4: pointer: start address %p extent %d\n\n",&p4
,sizeof(p4
)); /* Значения, на которые ссылаются указатели */
printf("p1: %p related value %d\n",p1
,*p1
); printf("p2: %p related value %f\n",p2
,*p2
); printf("p3: %p related value %lf\n\n",p3
,*p3
); }
I2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPG1hdGguaD4KCmludCBtYWluKCkKewogICAgLyogwqvQntCx0YvRh9C90YvQtcK7INC/0LXRgNC10LzQtdC90L3Ri9C1ICovCiAgICBpbnQgYSA9IDE7CiAgICBmbG9hdCBiID0gMjsKICAgIGRvdWJsZSBjID0gMzsKICAgIC8qINCj0LrQsNC30LDRgtC10LvQuCAqLwogICAgaW50ICpwMSA9ICZhOwogICAgZmxvYXQgKnAyID0gJmI7CiAgICBkb3VibGUgKnAzID0gJmM7CiAgICB2b2lkICpwNCA9IE5VTEw7CiAgICAvKiDQkNC00YDQtdGB0LAgwqvQvtCx0YvRh9C90YvRhcK7INC/0LXRgNC10LzQtdC90L3Ri9GFINC4INGA0LDQt9C80LXRgCDQstGL0LTQtdC70Y/QtdC80L7QuSDQv9Cw0LzRj9GC0LggKi8KICAgIHByaW50ZigiYTogICAgICBpbnQ6IHN0YXJ0IGFkZHJlc3MgJXAgZXh0ZW50ICVkXG4iLCZhLHNpemVvZihhKSk7CiAgICBwcmludGYoImI6ICAgIGZsb2F0OiBzdGFydCBhZGRyZXNzICVwIGV4dGVudCAlZFxuIiwmYixzaXplb2YoYikpOwogICAgcHJpbnRmKCJjOiAgIGRvdWJsZTogc3RhcnQgYWRkcmVzcyAlcCBleHRlbnQgJWRcblxuIiwmYyxzaXplb2YoYykpOwogICAgLyog0JDQtNGA0LXRgdCwINGD0LrQsNC30LDRgtC10LvQtdC5INC4INGA0LDQt9C80LXRgCDQstGL0LTQtdC70Y/QtdC80L7QuSDQv9Cw0LzRj9GC0LggKi8KICAgIHByaW50ZigicDE6IHBvaW50ZXI6IHN0YXJ0IGFkZHJlc3MgJXAgZXh0ZW50ICVkXG4iLCZwMSxzaXplb2YocDEpKTsKICAgIHByaW50ZigicDI6IHBvaW50ZXI6IHN0YXJ0IGFkZHJlc3MgJXAgZXh0ZW50ICVkXG4iLCZwMixzaXplb2YocDIpKTsKICAgIHByaW50ZigicDM6IHBvaW50ZXI6IHN0YXJ0IGFkZHJlc3MgJXAgZXh0ZW50ICVkXG5cbiIsJnAzLHNpemVvZihwMykpOwogICAgcHJpbnRmKCJwNDogcG9pbnRlcjogc3RhcnQgYWRkcmVzcyAlcCBleHRlbnQgJWRcblxuIiwmcDQsc2l6ZW9mKHA0KSk7CiAgICAvKiDQl9C90LDRh9C10L3QuNGPLCDQvdCwINC60L7RgtC+0YDRi9C1INGB0YHRi9C70LDRjtGC0YHRjyDRg9C60LDQt9Cw0YLQtdC70LggKi8KICAgIHByaW50ZigicDE6ICVwIHJlbGF0ZWQgdmFsdWUgJWRcbiIscDEsKnAxKTsKICAgIHByaW50ZigicDI6ICVwIHJlbGF0ZWQgdmFsdWUgJWZcbiIscDIsKnAyKTsKICAgIHByaW50ZigicDM6ICVwIHJlbGF0ZWQgdmFsdWUgJWxmXG5cbiIscDMsKnAzKTsKfQ==