#include <stdio.h>
int main(void)
{
int *p = NULL;
printf("p是一个指针变量,值为 NULL\n");
printf("p值为: %p\n\n", p);
int b = 10;
printf("b是一个整形变量,值为 b==10\n");
printf("b值为: %d\n\n", b);
p = &b;
printf("用&符号, 获取了变量b的内存地址,p 保存了变量b的地址, p == 0x...\n");
printf("p值为: %p\n\n", p);
printf("用 * 可以取出指定 **地址变量** 对应的值 *p == b ==10\n");
printf("*p值为: %d\n\n",*p);
*p = 100;
printf("*p 可以被赋值,修改*p 的值,b的值也被修改了\n");
printf("*p值为: %d\n\n",*p);
printf("p值为: %p\n\n", p);
printf("b值为: %d\n\n", b);
return 0;
}
// 不管类型如何,指针变量占据4个字节
// * 取得 地址对应的变量值
// & 取得 保存变量的地址值
// * 打开地址的房间, 可读可写 写入时,称为间接引用
// & 取得信封地址信息
// *p 声明一个盒子,整体是一个变量
// p 是地址