Работа с указателем
В отличие от обычной переменной, работа с указателем включает три этапа:
-определение переменной -указателя;
-назначение указателя на указуемую переменную;
-работа с указуемой переменной с использованием косвенного обращения по указателю.
Поскольку все переменные в Си имеют тип, то указатель может содержать адрес не любой переменной, а только переменной определенного типа. Этот тип называется ТИПОМ УКАЗАТЕЛЯ. В нашем примере определение указателя int*p следует понимать как определение переменной, при косвенном обращении к которой получается значение переменной целого типа, или короче -указатель на целое.
Вторым этапом является операция p = &a, которая понимается как присваивание переменной p адреса переменной a , или как назначение указателя p на переменную a . Заметим, что без этой операции использование указателя для косвенного обращения является недопустимым.
И, наконец, косвенное обращение по указателю предполагает, что действие производится над указуемой переменной, адрес которой находится в данный момент в указателе. Тогда последняя операция x=x+*p будет эквивалентна x=x + a.
Замечание: образно говоря, операция " &" превращает переменную в указатель на эту переменную, точнее тип данных этой переменной в указатель на этот тип (см.4.3.). Тогда в операции присваивания p = &a в правой и левой части находятся указатели одного типа (указатели на целое).