这一节拿快捷方式举例,不懂快捷方式的去看 指针——生活中的例子
- 这个图标是为 植物大战僵尸 创建的快捷方式,点击它就可以直接进入游戏。
- 这一次咱们用C语言为 植物大战僵尸 创建一个快捷方式,但为了好理解,所以都是伪代码:
#include<stdio.h>
int main(void) {
//为植物大战僵尸创建了快捷方式,把 p 理解为桌面上的快捷方式。
int* p = &植物大战僵尸;
//输出p,即输出快捷方式,即输出它所指向东西的路径,则输出的就是游戏的存储地址:E:\植物大战僵尸\PlantsVsZombies.exe
printf("%p\n", p);
//输出&p,即输出的快捷方式本身所存放的地址:C:\Users\yuyu\Desktop
printf("%p\n", &p);
//将* 理解为鼠标的点击,点击快捷方式,不就打开了 植物大战僵尸吗?
printf("%d\n", *p);
return 0;
}
- 所以,p 是它所指向东西的地址。
- &p 是存放指针p 本身的地址。
- *p 是它所指向的东西。
最后,用一个简单的数据小结一下子,理解万岁 …
#include<stdio.h>
int main(){
int number = 100;
//这里其实也可以写为 int *p = &number;
int* ptr = &number;
printf("number 的地址为:%p\n",ptr);
printf("number 的地址为:%p\n",&number);
printf("number 的值为:%d\n",*ptr);
}
输出的结果:
number 的地址为:000000FDDD19F744
number 的地址为:000000FDDD19F744
number 的值为:100