Вы не можете тестировать во время выполнения независимо от платформы. Выполнение чего-либо с неинициализированным значением, кроме присвоения ему, является неопределенным поведением. Посмотрите на источник и проанализируйте поток кода.
Возможно, ваш компилятор инициализирует стековую память определенным значением, и вы можете проверить это значение. Он не переносим даже на один и тот же компилятор с разными флагами (потому что стандарт не требует этого, и это может произойти только в режиме отладки), и он ненадежен, потому что вы могли назначить «магическое» значение.
В этом случае вы обычно инициализируете указатель на NULL
(эквивалентно 0), а затем проверяете, является ли он NULL
. Это не говорит вам, назначили ли вы NULL ему или нет за прошедшее время, но говорит вам, присвоили ли вы «полезное» значение.