例如程序:c#includeint*return_sth(){inttmp=5;int*ptr=&tmp;returnptr;}intmain(void){printf("%p,%d\n",return_sth(),*return_sth());inttmp=10;int*ptr2=&tmp;printf("%p,%d\n",ptr2,tmp);return0;}運(yùn)行結(jié)果:$./a.out0x7ffc5e2c6274,50x7ffc5e2c6294,10很明顯,在return_sth()返回之后,*ptr是未定義的,那么ptr呢?仍然存在還是一樣是未定義的?
返回在被調(diào)用函數(shù)中聲明的指針會(huì)發(fā)生什么?
森林海
2019-04-16 17:05:51