1. &是地址符,任何变量都可以使用&来获取地址,但是不能用在常量上。因为常量不是一个容器

  1. 局部变量的地址是不确定的,只有在运行的时候才能确定下来
  1. &变量 的类型
    如三个变量:

    char a;   // &a  会被视为 char *
    short* b;     // &b 会被视为 short **    
    int ** c;     // &c 会被视为  int ***

    即取地址符加上一个变量的结果就是该变量的类型加上一个*

  2. 指针变量赋值
    由上面可做出如下赋值

#include<stdio.h>

void main() {
    char x;
    char* p1;
    char** p2;
    char*** p3;
    char**** p4;

    p1 = &x;    // char *
    p2 = &p1;    // char **
    p3 = &p2;    // char ***
    p4 = &p3;    // char ****

    return ;
}

每次&p以后,char后面都会多一个*,因此可以这么赋值。


来源: https://www.cnblogs.com/codexlx/p/13436950.html