已有变量int a;怎么一步获取指向a的地址的指针。如int** b= &&a;(这个用法不行)
多步可以实现:int* p1 = &a; int** p2=&p1;为什么int** b= &&a;就不行。

解决方案 »

  1.   

    &取地址操作符,操作数需要是左值~
      

  2.   

    “指向a的地址的指针”
    首先就需要有个“指向a的地址”的变量,这里你只有a这个变量,又没有”指向a的地址“的变量,你怎么再来获取这个变量的地址呢?
    int* p1 = &a; int** p2=&p1;
    这样的,首先p1是个变量,在内存中某个地方,存放的是a的地址值,这个时候就可以获取p1的地址,放在p2中。
      

  3.   

    &a 是右值。没有地址的。所以不能再次取址。
    当你把这个 &a 赋值给一个变量 b 的时候,再次取址是 &b。不是 &&a。
      

  4.   

    && 是 逻辑与
    int a = 0;
    int *pa = &a;  //指针
    int **ppa = &pa; //指向指针的指针
      
      

  5.   

    如果 int **b= &&a; 能行得通那么 int *b= &1; 也应该能行得通