❶ c语言中的地址量,和地址中的数据到底是什么意思 有个简单的解释吗
举个例子 你有三个箱子 来存放东西 箱子在你眼里肯定有个标记 比如红色 蓝色 白色 或者 按照从上到下或者从左到右的顺序 1 2 3 。那么 在你眼里的这个标记就是地址 而你要放在箱子里的东西 就是地址的数据。我们暂且吧你的箱子按照从上到下的顺分为 1 2 3,从上面数第一个箱子里你放了个篮球,第二个箱子里你放了足球。第三个箱子里你放了乒乓球。当你需要足球的时候,你就会去第二个箱子拿你的足球,那么第二个 就是地址 足球就是你这个地址里的数据
❷ C语言中 知道逻辑地址 如果计算物理地址
要看具体情况的,这个是根据操作系统的地址映射有关的,操作系统根据可以把逻辑地址映射到不同的·物理地址的,要看具体的映射方法以及不同的操作系统,比如分段和分页方式计算方法是不·一样的。
“物理地址*10H + 偏移地址 和 物理地址*10H + 逻辑地址 是等价的吗?”的说法应该是分段的说法。物理地址*10H + 偏移地址 和 物理地址*10H + 逻辑地址不是等价的:物理地址*10H + 偏移地址=逻辑地址
❸ “c语言允许直接访问物理地址,能进行位操作”是什么意思啊
就是使用C语言能够直接定位物理内存的地址,即通过内存地址(如0xfa283401)得到该地址上的数据。
计算机中的数据都是以位(bit,比特)来作为基本单位的,C语言能直接对位进行操作,包括求与,并,或,异或,非等。
物理地址是一个很宽泛的概念,磁盘,内存等存储设备都有物理地址的说法。
物理内存地址指的是硬件实现上物理内存展现给外部总线访问的编码地址,其范围等于物理内存的大小.
大家常说的物理内存就是指安装在主板上的内存条,其实不然,在计算机的系统中,物理内存不仅包括装在主板上的内存条(RAM),还应该包括主板BIOS芯片的ROM,显卡上的显存(RAM)和BIOS(ROM),以及各种PCI、PCI-E设备上的RAM和ROM。
地址空间就是对物理内存编码(地址编码)的范围。
所谓编码就是对每一个物理存储单元(一个字节)分配一个唯一的地址号码,这个过程又叫做“编址”或者“地址映射”。这个过程就好像在日常生活中我们给每家每户分配一个地址门牌号。与编码相对应的是“寻址”过程——分配一个地址号码给一个存储单元的目的是为了便于找到它,完成数据的读写,这就是“寻址”,因此地址空间有时候又被称作“寻址空间”。系统不仅要给主板上的内存条编址,还要给上述的其它物理内存编址;它们都被编在同一个地址空间内,编址后的物理内存就可以被系统资源使用或占用。
❹ “c语言允许直接访问物理地址”
物理地址就是指真实存在的地址,对应存储单元的某个位或字节等存储单元,学硬件的应该很清楚,经常需要对硬件地址进行操作,把变量直接定义在某个地址,c语言介于低级语言(如汇编)和高级语言之间,是允许直接访问物理地址的,而好多高级语言是没法直接访问物理地址的,都是经过地址映射得到的逻辑地址,比如最简单的51单片机,sfr SCON=0x98,sbit TI=0x99 ,都是直接对硬件地址操作,但在windows里,你是无法操作内存条的某个具体地址的,都是操作系统来统一分配的