物联网/嵌入式工程师
重磅升级:新增硬件电路设计与实战,让你软硬通吃,同级PK无敌!行业风口、政策倾斜,新晋热门高薪不内卷!0基础一站式就业完整路径,抢占先发优势!
我们之前的课程中介绍过一些指针有关的运算,例如 & 运算符可以获取到变量的地址,而 * 运算符可以通过指针来找到指针指向的地方。
除此之外,指针还可以进行其他运算。
指针可以进行加减法的操作,我们都知道,指针实际上就是地址,那么如果我们有一个指针变量,它存放的地址是 1,那么如果我们对这个指针进行加 1 操作,就如同这样:
p = p + 1;
那么是不是此时的 p 中存放的地址就变成 2 了呢?
答案是,不一定,那么会变成什么?我们要看指针的类型。
如果这个指针类型是 char * 类型,我们知道,char 的大小是 1 个字节,那么加 1 的操作,指针地址就会增加 1。
而如果这个指针是 int * 类型,int 的大小是 4 个字节,那么加 1 的操作,指针地址就会增加 4。
因此,指针加上一个 offset,那么实际上的指针偏移将会偏移 offset * 类型的大小。
同理,对于指针的减法,则是方向相反的偏移。
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报