指针的指针(pointers to pointers)

来源:互联网 发布:汽车之家网络不可用 编辑:程序博客网 时间:2024/05/11 17:44

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

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

   

 

 

      以下输出了各变量的值:

 

    

 

 

        

 

      

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

    判断下面程序的输出:

 

  

 

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

 

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

 

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

 

原创粉丝点击