悬空

动态分配内存与悬空指针 2013-12-06

int F(int **P) { int a=10; *P = &a; return 0; } 这是以前想过的一个问题:假如在F函数中中定义了一个自动变量a,然后有一个形参(**P),将*P指向这个a的地址.调用F函数的时候,系统会自动为这个变量a分配内存空间,它当然不会在程序的整个生命周期永久存在,在执行完F函数的时候,系统又会自动释放变量a的存储空间,那么指向a地址的指针*P怎么办?(注意,*P指针本身也是有内存空间的) 原来*P变成了悬空指针.悬空指针是很危险的,它会指向一个无效的地址,如
一周排行