一、&的含义及用法
1.含义:取地址运算符,用来取变量的地址,是单目运算符,如 &a 表示 a 的地址
2.优先级:2级
3.结合性:自右向左
二、* 的含义及用法
区分 运算符 指向
int a = 0, *p = &a;
printf("%d",*p);
这里第一行的 p p p 和第三行的 p p p 是不一样的。
第一行的 p p p 是表示定义了一个指针变量,变量名称为 p p p,为什么定义指针变量时需要在变量名前加一个 *,这是为了区别与指针变量与其他变量,在定义时需要将指针变量前加一个 *。
第三行的 p p p 指指针变量 p p p 所指向的内容,即 a ,*表示指向。
下面这个程序与上面等价。
int a = 0, *p;
p = &a;
printf("%d",*p);
三、& 和 * 的关系
1.两者关系:互为逆运算
2.关系式
int i, *i_pointer = &i;
i_pointer = &i = &(*i_pointer)
i = *i_pointer = *(&i)