C/C++指针的指针(**p)和指针的引用(*&)使用案例分析

本文深入探讨C/C++中的指针的指针(*p)和指针的引用(*&)。通过实例分析,揭示了在表达式中*&运算符的优先级及结合性,说明如何理解并使用指针的引用。同时,提到了typedef的应用,帮助理解INT_P &a的含义,即指针的引用。
摘要由CSDN通过智能技术生成

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>

int func1(int *a)
{
    a = new int;
    *a = 1;
    printf("func1 addr a=%p\n",a);
    return *a;
}

int func2(int **a)
{
    *a = new int;
    **a = 10;
    //如果是指针的指针,那函数内可以对指针的指针直接赋值
    //那返回的地址就彻底悲剧了,函数外面的指向彻底乱了
    //int i = 0,*b = 0;
    //b = &i;
    //对指针的指针直接赋值,有可能不这么直接,间接被修改
    //a = &b;
    printf("func2 addr a=%p,*a=%p\n",a,*a);
    return **a;
}


//*&: 运算符*优先级高于&,两个运算符都是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值