直观多级指针

int main()
{
    int a = 10;
    int* p_a = &a;
    int** pp_a = &p_a;
    int*** ppp_a = &pp_a;
    int**** pppp_a = &ppp_a;            
    std::cout << "a=" << a << " &a="  << &a << std::endl;
    std::cout << "*p_a=" << *p_a << " p_a="  << p_a << " &p_a="  << &p_a << std::endl;
    std::cout << "*pp_a=" << *pp_a << " **pp_a=" << **pp_a << " pp_a=" << pp_a << " &pp_a="  << &pp_a << std::endl;
    std::cout << "*ppp_a=" << *ppp_a << " **ppp_a=" << **ppp_a << " ***ppp_a=" << ***ppp_a << " ppp_a="  << ppp_a << " &ppp_a="  << &ppp_a << std::endl;
    std::cout << "*pppp_a=" << *pppp_a << " **pppp_a=" << **pppp_a << " ***ppp_a=" << ***pppp_a << " ****ppp_a=" << ****pppp_a << " pppp_a=" << pppp_a << " &pppp_a=" << &pppp_a << std::endl;
}
输出:
a=10 &a=0075FCC0
*p_a=10 p_a=0075FCC0 &p_a=0075FCB4
*pp_a=0075FCC0 **pp_a=10 pp_a=0075FCB4 &pp_a=0075FCA8
*ppp_a=0075FCB4 **ppp_a=0075FCC0 ***ppp_a=10 ppp_a=0075FCA8 &ppp_a=0075FC9C
*pppp_a=0075FCA8 **pppp_a=0075FCB4 ***ppp_a=0075FCC0 ****ppp_a=10 pppp_a=0075FC9C &pppp_a=0075FC90

&pppp_a 为四级指针本身的地址
pppp_a = &ppp_a
*pppp_a = ppp_a = &pp_a
**pppp_a = *ppp_a = pp_a = &p_a
***pppp_a = **ppp_a = *pp_a = p_a = &a
****pppp_a = ***ppp_a = **pp_a = *p_a = a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值