Люб. инф-ия, код прог-мы или данные находятся в комп-ре по опред-му адресу и занимают в памяти опред-ое кол-во байт, все переем-ые имеют свои адреса. При работе с языками выс. Уровня программист не заботиться о размещении переем-ых по реальным адресам, этим занимается комплятор. Программист работает с именами перм-ой, это гораздо проще, чем работать с адресами. Допустим нас интересует где в памяти располагается переем-я с именем Name. Для реш-я этой задачи создают указ-ль на эту переем-ю. Создание указ-ля это объявление еще одной переем-ой, но ее знач-е это адрес др. переем-ой.int iNum=45; int *iptr=&iNum; Указатель – объект в памяти, т.е. ячейка в к-ой хранится адрес др. ячейки, поэтому можно опред-ть указ-ль на указ-ль. Если мы неинициал-ли указ-ль, то с-ма может зависнуть.Объявление какого-л. Указ-ля не означает присвоение какого-л. Знач-я. До тог как установлено знач-е указ-ля адресом др. переем-ой, указ-ль относится к случайному знач-ю в памяти и его испол-е может привести к ужасным последствиям. Различают указ-ли переем-ой и константы. Значением указ-ля явл. адреса участков памяти, выделенных под переем-ю конкретного типа. Именно поэтому в опред-и указ-ля исп-ся тип. Указ. Делятся на 2 категории: на объекты и на ф-ию. Признаком указателя служит (*), помещенный перед именем,т.о. если необходимо опред-ть указ-ль на объект одного и того же типа символ * помещается перед кажд. именем: int *ptr; это опред-е вводится на объекты целого типа,т.о. имя типа и * перед именем необходимо воспринимать, как введение особого типа данных указ-ля на объект указ-го типа.