C++入门经典-例5.10-指针作为返回值

1:代码如下:

// 5.10.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using std::cout;
using std::endl;
int* pointerGet(int* p)//定义一个返回指针类型的函数
{
    int i = 9;
    cout<<"函数体中i的地址"<<&i<<endl;
    cout<<"函数体中i的值:"<<i<<endl;
    p = &i;
    return p;
}
int main()
{
    int* k = NULL;
    cout<<"k的地址:"<<k<<endl;
    cout<<"执行函数,将k赋予函数返回值"<<endl;
    k = pointerGet(k);//执行函数后,i的内存被销毁,值变成了一个不可预知的数
    cout<<"k的地址:"<<k<<endl;
    cout<<"k所指向内存的内容:"<<*k<<endl;
}
View Code

运行结果:

原文地址:https://www.cnblogs.com/lovemi93/p/7524551.html