多重指针你指向哪里?

下面这个小程序,可以很清楚地展示多重指针的结构,已经调用方式,每个操作符号代表的意义:

#include <stdio.h>

#include <stdlib.h>



int main(int argc, char *argv[])

{

    int a = 1;

    int *b;

    int **c;

    

    b = &a;

    c = &b;

    

    printf("------------------------------\n");

    printf("a is %4d \n", a);

    

    printf("------------------------------\n");

    printf("b is %4d \n", b);

    printf("*b is %4d \n", *b);

    printf("&b is %4d \n", &b);

    

    printf("------------------------------\n");

    printf("c is %4d \n", c);

    printf("*c is %4d \n", *c);

    printf("**c is %4d \n", **c);

    printf("&c is %4d \n", &c);

    printf("*(&c) is %4d \n", *(&c));

    printf("&(*c) is %4d \n", &(*c));

    //printf("&&c is %4d \n", &&c);    

  

  system("PAUSE");	

  return 0;

}



 

云里雾里的多重指针到底是怎样运行的呢?下面画图解释这个东西。

你可能感兴趣的:(指针)