指针运算
从内存存储的角度看,指针运算的本质为指针中存储的地址的运算。
切记一点就是:指针的运算包括数值和类型。
一、赋值运算
- 在进行指针的赋值运算时,要注意的是不同类型指针虽然可以赋值 ,但是编译器会警告 ,为此我们应该用强转的方式明确类型,从而避免隐式转化带来的错误。
#include
二、算术运算
- 简单的说,算术运算就是一种数值加类型的运算。
*p++和(*p)++之间的差别:*p++是地址变化,(*p)++是指针变量所指的数据变化。一个指针变量加一个整数不是简单的数字相加,而是连续移动若干地址。当两个指针指向同一数组时,它们可以比较大小进行减法运算。
include
三、比较运算
指针的比较运算就要说的就是指针指向的地址是否相同的。
因为比较简单理解就不举例子了,其中要注意的是:
指针的运算只能发生在同类型或整型之间,不同的类型平台会警告或者停止运行的。
下章预告:指针遇到数组呢?一维数组,二维数组,又有什么呢?
【文章来自本人简书(链接)】:
http://www.jianshu.com/writer#/notebooks/4124910/notes/4166072