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

  • 相关阅读:
    Linux产生coredump文件(core)
    shell脚本每五分钟执行一次可执行程序(nohup)
    VIM快捷操作
    日期正则表达式
    istringstream字符串流对象
    json和pickle模块
    sys模块
    random模块
    time模块
    python的模块
  • 原文地址:https://www.cnblogs.com/Mike2019/p/11813266.html
Copyright © 2011-2022 走看看