- & 是取地址运算符, &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----*/