引用2

#include <iostream> 
using namespace std; 
 
void Func1(int* p); 
void Func2(int*& p); 
 
int b = 2; 
 
int main() 

    int a = 1; 
    int* p = &a; 
    cout<<"a的地址:"<<&a<<endl; 
    cout<<"b的地址:"<<&b<<endl; 
    Func1(p); 
    cout<<p<<endl; 
    Func2(p); 
    cout<<p<<endl; 
    return 0; 

 
void Func1(int* p) 

    p = &b;
 cout<<"调用f1后"<<p<<endl;
 

 
void Func2(int*& p) 

    p = &b; 

//  这里调用Func1以后p依然指向a的地址,说明当func1(p)时,系统重新分配了一个内粗地址块,来放传进来的p(a的地址)的地址
//这里调用Func2后p就指向b的地址了,这里说明,系统没有重新分配一个内存地址块,而是直接饮用传进来的p的地址(即a的地址)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值