Указатель - это просто нормальная переменная, имеющая то же время жизни, что и обычная переменная. Если это локальная нестатическая переменная, ее время жизни заканчивается, когда она выходит из области видимости. Если это переменная со статической продолжительностью хранения, ее время жизни заканчивается, когда программа заканчивается. Если он расположен в динамически распределенной памяти, его время жизни заканчивается, когда эта память освобождается, и для будущего стандарта C1x, если это локальная переменная потока, его время жизни заканчивается, когда заканчивается поток.