• & 是取地址运算符, &a 即 取 变量a 的地址
  • ‘ * ’ 有两种含意

    • 用在变量定义时,申明此变量为指针变量,如 int *p
    • 用在非定义之时,示意取指针所指向的地址中变量的值, int *p=&a, , *p 即 a的值
    • *&p 与 p 是一样的,p为指针

上面用代码示例

#include <stdio.h>void main(){    int a=5;    int *p=&a;//&a 是取 变量a 的地址    printf("*p  - %d\n", *p);//在这里,*p 是取p 存在这个地址上的值    printf("p  - %x\n", p);    printf("*&p  - %x\n", p);    printf("&a  - %x\n", &a);    printf("&p  - %x\n", &p);}/*----*p  - 5p  - 22fe4c*&p  - 22fe4c&a  - 22fe4c&p  - 22fe40----*/