1变量的两种访问方式:1 通过变量名 2 通过 变量地址 我们举一个例子
比如 xx花店 你要到哪里 你需要知道花店名字 或者 是 花店的地址 这样 就可以到达。
变量的两种访问方式 代码 是演示
#include
#include
直接用a 就是 变量名 访问 或者 取变量名的地址 在* 就是把地址的值取出 这两个就是访问变量的两种方式 最后的结果是一样的。
2 指针变量含义 :一个存放地址的变量 指针 又是地址 所以简单理解 指针==地址 地址==指针
指针变量的定义
int *p;
定义一个int类型的指针变量 *是识别符 并且告诉计算机声明我是一个指针变量
指针变量的应用
#include
指针变量需要 要求类型吗 我们通过几个例子说明
首先 我们定义一个char 类型的指针 变量 和 int类型大小的变量 用sizeof 关键字 打印出来
看看结果怎么样
#include
定义了一个int 类型的指针变量 就是一个指向int类型的变量 char也是这么理解
所以在打印输出 结果是 4 和 1
int类型是 4个字节 char 是 一个字节
我们在通过一个方法 来 证明 指针变量 需要 要求类型的说法
通过偏移量打印 地址对比
#include
运行结果
为什么会出现这样的结果
1 int类型是 四个字节大小 自加偏移 一位就是 四个字节
2 char 类型是 1个字节大小 自加 偏移 一位就是 一个字节
地址偏移的问题 是不是 整块的偏移, 并不是
首先 用 int 类型的举例子 它有四个字节大小 我们 在操作偏移 时 是在他的四个字节范围内活动的 。 换个说法 int类型 就是四个字节 偏移了一位 (++p)int 类型就变成了 8个字节 显然这是不对的 。就像 一把游标卡尺 它就这么大 你可以通过移动 偏移 到不同的地址
总的来说 指针变量要求定义的类型 因为 它决定了 1 指向空间的大小 2 决定了偏移量
int 类型记得是 四个字节大小 char 类型是一个字节大小