Использование операций получения адреса и косвенного доступа.
Каковы выходные данные следующей программы?
#include <stdio.h>
int main()
{
  int i1, i2;
  int *p, *q;
  i1 = 5;
  p = &i1;
  i2 = *p/2 + 10;
  q = p;
  printf("i1 = %d, i2 = %d\n", i1, i2);
  printf("*p = %d, *q = %d\n", *p, *q);
}
 Ответ 
i1 = 5, i2 = 12
*p = 5, *q = 5
При неправильном ответе изучите: Использование указателей