在研究两个指针之前,我们先来理清win16,win32的一些知识。
运行在16位CPU(80826微处理器)微机上的Windows16,对于内存按照“分段内存模式”(Segment Memory Mode)进行使用.在DOS下(实模式)地址是分段的,每一段的长度为64K字节,刚好是16位(二进制的十六位)。Windows 95开始的32位机上,支持32位平面内存模式,为Win32写的程序使用32位的线性地址空间。
只有在win16上,才会设计到near、far指针的概念。在win32上,并没有此区别。
存储属性:
near指针:16位段内偏移地址
far指针:16位段地址+16位段内偏移地址
huge指针:32位规格化的具有唯一性的内存地址
C语言的存贮属性由六种编译模式决定(参见TC集成环境菜单中的option->compiler->model选项),默认的编译模式为small,在该编译模式下&