zoukankan      html  css  js  c++  java
  • 指针专题5-指针数组和二级指针(指向指针的指针)

    1 指针数组

      如果一个数组中所有元素保存的都是指针,我们称他为指针数组。

      指针数组的定义形式:dataType *arrayName[lengt] 或者 dataType *(arrayName[lengt])

    int a=1, b=34, c=100;
    int *arr[3]={&a, &b, &c};    //定义一个指针数组
    int **parr=arr;    //定义一个指向指针数组的指针

      这时,下面两列操作是等价的。

    取a、b、c的地址 取a、b、c的值
    arr[i] *arr[i]
    *(parr+i) **(parr+i)

     

    2 二级指针

    int a=100;
    int *p1=&a;  //定义指针p1指向a的地址  
    int **p2=&p1;    //定义指针p2指向指针变量p1的地址
    int ***p3=&p2;    //三级指针
    printf("a=%d
    ",a );
    printf("*p1=%d, p1%d
    ", *p1, p1);    //*p1=取a的值; p1=a的地址
    printf("**p2=%d, *p2=%d, p2=%d",**p2, *p2, p2);    //**p2=a的值; *p2=指针变量p1的值(即a的地址); p2=指针变量p1的地址

     输出:

      a=100
      *p1=100, p1=6487676
      **p2=100, *p2=6487676, p2=6487672

  • 相关阅读:
    oracle函数查询数据字典
    股票市场不是年轻人应该去的地方
    惊蟄
    大学问
    教条示龙场诸生
    生成器表达式
    三次锁定(文件加强版)
    文件的增删改查
    Python试题(1)
    Python入门(1)
  • 原文地址:https://www.cnblogs.com/Mike2019/p/11813266.html
Copyright © 2011-2022 走看看