• & 是取地址运算符, &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  - 5
p  - 22fe4c
*&p  - 22fe4c
&a  - 22fe4c
&p  - 22fe40
----
*/


DEFAULT
19 声望2 粉丝