永发信息网

c语言地址到底是一个段还是一个点?比如int a,a的地址为0x1,这个1到底是什么?是表示内存里面地址的一个

答案:5  悬赏:20  手机版
解决时间 2021-12-31 00:46
是表示内存里面地址的一个点吗?还是我们人为的一种标记?有什么含义?哎,头疼,想不明白。哪位大神能给我细说下。感激不尽。到底地址是什么?
最佳答案
c语言地址是一个点,或叫“偏移量”(offset) 。程序里,每个变量都有不同的偏移量。

操作系统把程序装入内存时,临时分配一个区域,内存里面的真地址等于 临时分配的值+“偏移量”。

程序运行时,到真地址里去读写数据(取数,存数)。数据在运算器和寄存器里加工。
地址相当于门牌号码,便于寻找数据。
全部回答
我个人觉得是一个点 就像我们住的楼房的门牌号 内存被分成许多许多许多的小房间 每个小房间都有自己的门牌号 小房间可以认为是 字节 (不知道准不准确) 可以组合成大房间 比如 int类型 在某些 编译器中 是 4字节(例如 VC6.0 和 CodeBlocks-G++) 这个大房子的是由四个连续的小房子连起来的 于是 编译器规定(这也是我猜的) 把大房子的门牌号 定为 组成它的第一个小房子的门牌号 呵呵 楼主 我这是形象的描述哈~
第一个共占10字节,只能放2个int元素还多2字节 第二个能放10个 10*sizeof(int)和40,在32位系统下是一样的
C语言里的地址表示一个点,一个点外加一个变量类型可以代表一块内存:从这个点开始,长度等同于这个变量类型的长度比如int是4个字节。 说简单点,比如你电脑里装了2个G的内存,这2个G的单位是字节(2GB),于是就给每个字节分配一个地址,第一个字节为0,最后一个字节为0x7FFFFFFF,中间怎么排自己脑内补完。 不过现代操作系统中地址没有那么简单,在windows下其实我上面说的那个是错(简化?)的。它有好几个概念的地址,之间互相转化,什么什么的,以后学了操作系统相关的知识以后会知道。初学者不用知道这么复杂,知道像我刚才说的那样的应该就够了。
地址就是你家的门牌号,你们家的那条街比较长,就用4位数来表示,街比较短,就用2位数来表示。 所以你是32位的系统,0x1就是31个0,一个1。64位的系统,就是63个0,一个1。你学一门编程语言,就要有一定的思维方式,站在一定的抽象角度去学,等上手了,再关心底层的实现。 这些都是设计计算机的时候那些设计者的抽象,实际上根本没有地址这个东西,就是一些电路里的信号,高电平低电压什么的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
股票集合竞价时间是几点到几点
若ab<0,则函数y=ax与y=在同一平面直角坐标
如何去除豆腐干表面不发粘
铜和锌的活动性铜是3d104s2,锌是3d104s1,锌的
观察下列式子:2×4+1=32;4×6+1=52;6×8+1
什么样的岫玉的镯子比较好?去岫岩在哪儿能买
谁有消防对讲机无线通讯解决方案
讨厌之至的至什么意思啊
肇州县大庆金泉食品超市这个地址在什么地方,
九州通衢是什么意思
捷达发电机和启动马达如何判断该更换了
要把6件同样长17cm,宽7com,高3com的长方体物
严格地说,发界外球踩线算不算违例
同文共规指什么动物
网络语腊肉是什么意思
推荐资讯
兴邦陶瓷价格
周易手相大全
一竖三横是什么符号
东杨庄村村委会位置在什么地方啊,我要过去办
剑灵御风哪里接?
蔗糖是我们生活中经常接触的一种食品,你是否
全玻门怎么套定额
我兄弟两个我父母有退休工资每月两人近6000元
阅读下面的短文,按照句子结构的语法性和上下
乌海市公安交警支队海勃湾大队办公地址在什么
“像,很像!”他凄然一笑,指着塔说,“我小
信仰灯是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?