指针运算
2016-04-19 17:17
211 查看
1.指针自增、自减每次移动的偏移量是指针所指向对象的字节大小
2.指针相减的值是指针地址的偏移除以指针每次移位的大小
举例:
1)p-q=1;偏移量为2个字节,每次移动2个字节,所以为1
2)(char )p-(char )q,指针的偏移没变,但是每次指针移位是按照(char*)类型移动,即每次移动1个字节,所以是2
3)数字每次元素2个字节,所以sizeof(arr)为30,sizeof(*arr)为2。
所以输出结果为:1,2,15
2.指针相减的值是指针地址的偏移除以指针每次移位的大小
举例:
#include<stdio.h> void main() { short *p,*q; short arr[15]={0}; p=q=arr; p++; printf("%d,",p-q); printf("%d,",(char*)p-(char*)q); printf("%d",sizeof(arr)/sizeof(*arr)); }
1)p-q=1;偏移量为2个字节,每次移动2个字节,所以为1
2)(char )p-(char )q,指针的偏移没变,但是每次指针移位是按照(char*)类型移动,即每次移动1个字节,所以是2
3)数字每次元素2个字节,所以sizeof(arr)为30,sizeof(*arr)为2。
所以输出结果为:1,2,15
相关文章推荐
- iOS 点滴积累
- 每天一道算法题(六)深度优先算法(DFS)学习及Java实现
- 转:在线流程图制做网站
- sql过滤掉重复记录,只保留一条数据
- [网络流24题] 最长递增子序列 (最多不相交路径---网络最大流)
- 八皇后问题 DFS
- Quartz2D使用
- 二分递归查找数组最值
- 语音信号的端点检测的matlab代码(子带谱熵法法)
- 【机器学习】先验概率、后验概率、贝叶斯公式、 似然函数
- 调整设备时间导致的Provision过期
- 孤傲苍狼 的博客园
- ReactiveCocoa 和 MVVM 入门
- java复数矩阵运算库——Jampack
- 多线程并发编程(四):多线程同步互斥Wait/Notify
- java设计模式心得
- [总结]FFMPEG视音频编解码零基础学习方法
- Export aborted because fatal lint errors were found. These are listed in the Lint View. Either fix t
- Android官方开发文档Training系列课程中文版:调用相机之简单摄像
- hiho 34 二分图二•二分图最大匹配之匈牙利算法