必须注意,指针运算不同于常规的算术运算,一般地,40000+2的结果是40002,但当一个指针加上或减去一个整数时,指针并非简单地加上或减去该整数值,而是加上该整数与指针引用对象大小的乘积,而对象的大小则和机器与对象的数据类型有关。例如在上述情况下,语句

ptra+=2;

的结果是40000+4*2=40008, ptra也随之指向元素a[2],同理,诸如语句

ptra-=2;
ptra++;
++ptra;
ptra--;
ptra--;

等的运算原理也都与此相同,至于指针与指针相减,则会得到在两个地址之间所包含的数组元素的个数,例如ptra1包含存储单元40008,ptra2包含存储单元40000,那么语句

x = ptra1 - ptra2;

得到的结果就是2(仍假设整数在内存中占4个字节)。因为除了数组元素外,我们不能认为两个相同类型的变量是在内存中连续存储的,所以指针算数运算除了用于数组外没有什么意义。

转载于:https://www.cnblogs.com/lihongsheng0217/archive/2009/03/11/1408951.html

指针运算不同于算数运算,不能简单加减相关推荐

  1. oracle时间怎么相加减,Oracle 如何对时间进行简单加减运算

    在我们用dbms_job包进行定时Job的时候,需要设置时间间隔,所以需要知道时间的基本加减方法. SQL> alter session set nls_date_format='yyyy-mm ...

  2. 考前自学系列·计算机组成原理·补码定点加减运算和溢出判断,浮点数的加减运算,原码的乘法

    补码定点加减运算和溢出判断 浮点数的加减运算 原码乘法

  3. (计算机组成原理)第二章数据的表示和运算-第二节4:定点数的加减运算和溢出判断

    文章目录 一:使用原码实现加减法基本逻辑 (1)原码加法 (2)原码减法 二:使用补码实现加减法 三:溢出判断 (1)采用一位符号位依据溢出表达式判断 (2)采用一位符号位依据进位情况判断 (3)采用 ...

  4. C语言——找零钱、简单加减、身高换算

    找零钱程序 要求输入金额,输出找零金额. int main() {int amount=100;int price=0;printf("请输入需付金额(元):");scanf(&q ...

  5. 【JavaScript练习】用户输入任意两个数字的任意算数运算(简单的计算器小功能)并弹出运算后的结果。

    [JavaScript练习]用户输入任意两个数字的任意算数运算(简单的计算器小功能)并弹出运算后的结果. <!DOCTYPE html> <html lang="en&qu ...

  6. 算数运算加法_为什么计算机能“算数”

    为什么计算机能"算数"?为了更容易理解我们需要把问题再精分一下: 1.在计算机中,"数"是如何表示的? 2.在计算机中,"数"是如何计算的? ...

  7. Linux有关Shell算数运算的用法补充笔记

    1.自增自减 Shell的自增自减和其他编程语言的语法基本上是一样的.主要包括四种:前置自增.前置自减.后置自增.后置自减.前置的原理是先修改变量的值,然后将变量的值传递出去.后置的原理是先将变量的值 ...

  8. 8086指令系统 操作数地址,双操作数,单操作数,无操作数指令。一,传送类指令;二,二、算数运算类指令

    双操作数指令:OPR DEST,SRC 单操作数指令:OPR DEST 无操作数指令:OPR 按指令功能划分为六大类: 1传送类指令 2算术运算类指令 3位操作类指令 4串操作类指令 5程序转移类指令 ...

  9. OpenCV:03图像的算数运算

    文章目录 掩膜 图像的算数运算 加法运算 利用掩膜遮盖相加结果 减法运算 乘法运算 除法运算 图片的融合 OpenCV的逻辑运算(位运算) 与运算`&` 花图像与十字掩膜做`与运算` 或运算` ...

最新文章

  1. .net开发框架比较
  2. [python]练习之递归和循环实现斐波拉契数列
  3. Imation亏损额急剧增长 CEO仍表示“成功”
  4. vscode 设置保存格式化,当保存时,单引号变成了双引号,vue项目报错
  5. 国产数据库存储引擎X-Engine的科研之路
  6. 32汇编语言程序说明_Linux 汇编语言学习--编译和链接
  7. 如何让nginx执行python代码_生产环境部署Python语言代码(django+uwsgi+nginx)
  8. S5PV210裸机之Nandflash
  9. U-Net Pytorch实现
  10. C#Winform中WebBrowser控件的特性和详细调用方法
  11. 常见笔顺错误的字_孩子的字越写越差,强行矫正效果差,家长应这样培养孩子书写态度...
  12. Hicharts实现世界地图思路及踩过的坑(含中文GeoJSON数据集及详细代码)
  13. 入选司法部案例库,效率源协助的这起网络游戏外挂案到底“优”在何处?
  14. 选择易优cms建站的十大理由
  15. 虚拟机之Jvm、dalvik、art联系和区别
  16. 【数据可视化笔记】如何选择图表?
  17. Python 生成个性二维码
  18. 英语语法汇总(11.直接引语和间接引语)
  19. .Net内部缓存System.Web.Caching.Cache 和Redis缓存缓存工厂切换
  20. pygame图片精灵

热门文章

  1. 二进制法生成1-n的子集
  2. 织梦重置mysql数据库密码忘记_织梦cms管理员密码忘记了怎么重置找回?
  3. android 清理工具,Android 版 Avira Optimizer 是 Android 手機清理工具
  4. mysql-修改密码(error-1290 (HY000): The MySQL server is running with the --skip-grant-tables option so)
  5. python新奇检测_3种Python检测URL状态
  6. 马匹赛跑java_java模拟龟兔赛跑
  7. mysql无法启动修复_记一次MySQL无法启动及修复经历
  8. java -从小到大排序
  9. 没有bug队——加贝——Python 练习实例 21,22
  10. java容易掉发吗_容易被忽略的面试题—Java高并发