预备知识:
这与CPU寻址有关。在16位机器下,地址线为20位。但CPU处理能力只有16位。于是访问内存的方案是分段。即基址(段)+偏址是逻辑地址,从中可计算物理地址。基址(段)有16位,偏址也16位,寻址时将基址左移4位加偏址既可寻址。注意,段只有16位。其大小为2的16次方。即64K。
解释:
当你访问地址(指针)在一个段内,这是这个指针是近指针。当你访问地址(指针)不在一个段内,这是这个指针是远指针。因为它跨段寻址。所以“远”。
对于32为的CPU,32位的操作系统,其地址线为32,寻址能力达到4Gb,远远大于物理地址,它的一个段为4Gb。实际上,这时谈论段已没有意义。所以在32位的操作系统上无近远指针之说。之所以存在,是因为兼容。

在32位win32系统下,已经没有far/near指针区别,都一样。

在8086实模式(dos)下,和286的保护模式下(windows   3.x),地址由两部分组成,一部分是段地址,一个是偏移地址(16位);段地址存储在一个特殊的寄存器中,程序可以提供段地址,也可以不提供,如果不提供段地址访问内存,则使用当前寄存器中的段地址;这样,如果不用段地址访问内存,只需要提供16未的偏移地址,在c中为near指针,如果提供段地址,则是far指针。

远指针,近指针,巨指针相关推荐

  1. C/C++中的近指令、远指针和巨指针

    C/C++中的近指令.远指针和巨指针 宋宝华 email:21cnbao@21cn.com sweek 在我们的C/C++学习生涯中.在我们大脑的印象里,通常只有指针的概念,很少听说指针还有远.近.巨 ...

  2. 指针辨析:悬垂指针、哑指针、野指针、智能指针

    原文地址:https://blog.csdn.net/zhaojinjia/article/details/8770989 悬垂指针: 1:提出的原因: 请看下面的代码片段: int *p=NULL; ...

  3. 【指针】C++中指针的使用艺术[转]

    在C++编程中使用指针能有速度快,节约内存等优点,是很多C++程序员的最爱.但指针是一把双刃剑,用好了它,你就会发现指针有多么的方便,反之,你可能就头疼了,往往会出现意想不到的问题. 一.什么是指针: ...

  4. 指针、野指针、指针常量、常量指针

    指针 概念 指针是什么? 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值.由于通过地址能找到所需的变量单元,可以说,地址指向该变量 ...

  5. C++ 笔记(27)— 指针变量、数组和指针、指针数组、数组指针、指针常量与常量指针

    1. 什么是指针变量? 指针变量是专门有一个变量来存放指针. int main(int argc, char *argv[]) {int a = 10;int *p = &a; //通过取地址 ...

  6. 关于C语言中的数组指针、指针数组以及二级指针

    概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...

  7. C++ 笔记(18)— 类和对象(this 指针、指向类的指针、类静态成员变量和函数)

    1. this 指针 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址. this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象. 友元函数没有 thi ...

  8. C++ 笔记(14)— 指针(指针声明、取地址、取值、new/delete、NULL指针、指针运算、指针数组、数组指针、指针传递给函数、从函数返回指针)

    1. 声明指针 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址.就像其他变量或常量一样,您必须在使用指 针存储其他变量地址之前,对其进行声明. 指针变量声明的一般形式为: type * ...

  9. Go 学习笔记(13)— 指针定义、指针特点、空指针、指针数组、指向指针的指针、指针作为函数入参

    1. 复合数据类型 Go 语言基本的复合数据类型有指针.数组.切片.字典.通道.结构和接口等.格式如下: * pointerType // 指针类型, [n]elementType // 数组类型, ...

  10. C指针8:二级指针(意思就是指向指针的指针)

    指针可以指向一份普通类型的数据,例如 int.double.char 等,以下简称一级指针: 也可以指向一份指针类型的数据,例如 int *.double *.char * 等.以下简称二级指针:即如 ...

最新文章

  1. SharePoint 2007 系列(12) SharePoint Master Page
  2. 数据库原理 简单基础入门
  3. 联想linux笔记本评测,联想(lenovo)G460AL-ITH Linux笔记本电脑CPU测试评测-ZOL中关村在线...
  4. ssh远程执行命令 linux,【Linux】SSH 远程执行命令
  5. 企业应用的Ant模组编译环境
  6. 《抓住听众心理——演讲者要知道的100件事》一2.听众需要上下文
  7. 内存数据集产生的隐性成本
  8. 电子地图下载器的地图级别与对应分辨率
  9. python如何批量下载大文件(支持断点续传)
  10. 开源、私有化部署,这款知识管理系统还有多少惊喜是我们不知道的
  11. TIPTOP、T100系统程序的内置函数使用详解
  12. 使用HTML语言和CSS开发商业站点_利用CSS3制作网页动画
  13. 二进制十进制小数转换
  14. 解决 VMware 中安装虚拟机时屏幕显示不全的问题
  15. 尺寸大的背光为何设计双AK级?
  16. c++编写手机小游戏代码_C++代码实现贪吃蛇小游戏
  17. 电工电子自动控制实验设备QY-DG328B
  18. sfm眼睛带viewtarget制作
  19. Camtasia Studio实现画中画视频课件制作方案
  20. 绕圆圈:小明报名参加了趣味运动会,运动会游戏规则如下:在一个环形跑道上,等距离放置着 N 个小球,小球按照顺时针方向从起点开始依次编号为 1 到 N ,在最短时间内取走放在跑道上尽可能多小球的选手获胜

热门文章

  1. 【leetcode慢速刷题记录】1. 两数之和
  2. 用C语言复现用贪吃蛇游戏(二)完结
  3. [Android]解决运行时错误:INSTALL_FAILED_UPDATE_INCOMPATIBLE
  4. promise的前世来生
  5. android 集成高德地图打包后报 key-location Error, ErrCode:7 的问题
  6. 地球online中国大区各服务器最近屡次发生高等级玩家砍死小号事件~
  7. 如何安装ATOM插件?
  8. 编写Java程序,使用ThreadLocal类,项目中创建账户类 Account,类中包括账户名称name、 ThreadLocal 类的引用变量amount,表示存款
  9. GUI 图形用户界面编程(十一)-扑克界面设计
  10. python panda3d从入门_panda3d 入门