Какова связь между областью действия и временем жизни переменной? Если переменная выходит за пределы области видимости, то ее память может быть перезаписана другой переменной или зарезервировано пространство до тех пор, пока функция не останется.
Я прошу, потому что хочу знать, действительно ли работает код ниже или может быть, что * p может быть undefined
foo() {
int *p;
{
int x = 5;
p = &x;
}
int y = *p;
}