- 变量
int a = 3
当我们定义a时,计算机会给a开辟一个内存空间 -》 地址
a就是地址 地址中存放了3
- 指针
int *p1
//赋值
p1 = &a
在这里存放了一个地址而不是一个变量数值
-> 这里的话 *p1 就可以取到p1这里存放的地址那里的值
- p1 // p1 <- 和普通的变量a的值是一样的,只不过是存放了地址
- &p1 //p1的地址 p1自己的内存地址
- *p1 //p1中存放的地址所指向的值
一段代码
#include<stdio.h>
// 最终目的输出*p1这个指针的三部分,普通变量值p 的两部分
int main()
{
int *p1 = NULL;
int p = 233;
p1 = &p;
printf("*p1 - %d ,p1 - %d , &p -%d",*p1 ,p1,&p);
printf("&(*p1) - %d, %d",&(*p1),&p );
return 0;
}