指针的指针(pointers to pointers)

    通常我们说指针就是内存中的地址,不同类型的指针代表相应类型变量的地址。而指针本身存放也需要地址,所以很显然我们同样可以定义指针的指针。下面就是一个指向整型变量的

指针和一个指向整型指针的指针:

   

 

 

      以下输出了各变量的值:

 

    

 

 

        

 

      

        由于数组名第一个元素的地址,那么本身即为地址的指针也可以表示数组。指针的指针可以表示二维数组。字符型指针可以表示字符串,指向字符型指针的指针可以表示字符串集合。

    判断下面程序的输出:

 

  

 

    注意程序第三句,指针p指向的对象通过其本身的指针q被修改了,所以最后输出为c

 

    从上面除了可以发现内存中栈按地址减小的方向增长外(为什么每次是12Bytes呢?),还可以看到每行的值都是相等的。ppi是指向整型指针pi的指针,所以ppi =&pipi是指向整型变量i的整型指针,所以pi=&i

 

   在这里可以看到&(取地址操作符,address-of operator)*(解引用操作符,dereference oprator)互为逆操作。如下所示:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值