标题: 这个程序打印第一个*p和第二个*p值为啥不一样啊 [打印本页] 作者: zpj19921115 时间: 2016-3-5 21:41 标题: 这个程序打印第一个*p和第二个*p值为啥不一样啊 int text(int a)
{
return &a;
}
//定义一个返回值为int * 的函数
int * text(int a)
{
//int a = 2
return &a;
}
//使用指针函数
int main()
{
int b = 2;
int *p = text(2);
b = 19;
printf("%d\n",*p);//打印的是函数内部a的值,此时text函数已经结束,text内部的a已经不能被访问了,注意,我们能通过p找到原来text函数内部的a的地址,但是这个地址对应的空间存储是什么由操作系统决定
for (int i = 0; i < 10; i++) {
printf("%d\n",*p);//打印的是函数内部a的值,此时text函数已经结束,text内部的a已经不能被访问了,注意,我们能通过p找到原来text函数内部的a的地址,但是这个地址对应的空间存储是什么由操作系统决定
}