ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c++中面向对象以及新特性的困惑与思考【八】【指针】

2022-09-03 02:01:58  阅读:185  来源: 互联网

标签:变量 指向 int 加减 c++ 面向对象 地址 指针


部分指针内容已经在内存相关中提及
最近一些C语言的笔试题或者是面试题又屡屡出现
因此在这里特地专开一栏用于强调

参考书籍:《C专家编程》、《C语言与指针》、《C安全手册》

1.指针运算(摩尔线程考题)
参考博客[]:https://www.cnblogs.com/engure/p/12294408.html

  • 指针变量比较大小:

    • 同类型的指针是可以进行比较大小的 比的就是地址的大小
      指针存的是地址,直接比较当然是地址大小啦.q=p+1后,q指向p指向的元素后面的地址zhi,所以q大于daop,比如p存的数据是地址1000,+1后就是1004,存入q,显然q大于p
      有一说一 先前根本没觉得这是个问题。
  • 指针变量进行加减:

    • 指针变量与整型变量进行加减:此时加减的含义并不是其地址值进行了加减,而是与指针指向的数据类型相关联。如果指针变量 p 的值是0x20000000,那么 p=p+2 的值并不是 0x20000002,如果在 32 位的操作系统上,p 是指向整型数据的指针变量,那么 p=p+2 之后,p 的地址值变成 0x20000008,也就说地址值加了: sizeof(int)*2。加减的数字是以指针指向的数据类型为量度的,p+2 表示 p 在内存中前移两个int的距离。
      同样地经常考察数组指针(数组名)的加减。这篇讲解非常详细【还有图解】:[]:https://www.freesion.com/article/2870764107/

    • 指针变量与指针变量相减(不能相加):两个指针变量(同一类型)相减表示两个指针指向的内存位置之间相隔多少个元素(不是字节数),例如对于 int 类型的指针 p1 和 p2, p1-p2 的意义表示他们之间相隔多少个int元素。

  1. 数组名是指针常量,不能修改。

标签:变量,指向,int,加减,c++,面向对象,地址,指针
来源: https://www.cnblogs.com/black-worrior-2000/p/16651823.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有