C语言中的内存地址和存储单元是什么概念?

我也是刚学C语言,对于比较细致的地方有点不懂。我想问的是,比如是在定义变量的候就在内存中申请并命名一个存储单元,而这个存储单元难道就是放在内存地址中的吗?帮我逻辑一下,定... 我也是刚学C语言,对于比较细致的地方有点不懂。我想问的是,比如是在定义变量的候就在内存中申请并命名一个存储单元,而这个存储单元难道就是放在内存地址中的吗?
帮我逻辑一下,定义单元的原理,好ma ?
展开
 我来答
aaasuper
2011-09-04 · TA获得超过801个赞
知道小有建树答主
回答量:431
采纳率:100%
帮助的人:626万
展开全部
就好像超市存包的箱子,每一个箱子就是一个存储单元,你可以在里面放你的物品(相当于变量的值),每个箱子都有一个编号(相当于他的内存地址),一个变量通常占用一个以上的并且是连续的存储单元,而这个变量指向第一个单元(比如你把一张地图撕成几块放在编号为10~13的箱子里,而你只记得第一个箱子是10号,并且知道放了4个箱子),这个变量占用的所有内存空间才能表示他的值(你需要把4个箱子里的内容——也就是地图都拿出来才能看到完整的地图)
超人影视娱乐
高粉答主

2015-09-01 · 闲来无事的影评人-关注我把
超人影视娱乐
采纳数:7757 获赞数:60597

向TA提问 私信TA
展开全部
  C语言中的内存地址和存储单元是什么概念
无符号的整数和有符号的正整数都是用二进制原码来表示,而负整数则是使用补码来表示(补码的算法:负数的绝对值的原码安位取反再加一)。举个例子来说吧:
假设机器使用的是16位来存储整数。
10 的存在形式是0000000000001010
-10的存在形式:
(1) |-10| = 10 ,10原码为0000000000001010
(2)安位取反: 1111111111110101
(3)加1: 1111111111110110(最终结果)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Digitalfuns
2011-09-03 · TA获得超过609个赞
知道小有建树答主
回答量:581
采纳率:50%
帮助的人:178万
展开全部
假定内存是由好多个方格组成(每个方格代表1位),当你定义了一个变量的时候,他会在内存空闲区域占一个区域(标示被占用,别人不能动了)。至于占多少个格,要受到你定义的变量类型影响。比如int型占用2字节就是8位,也就是8格,你变量的名字连接着这几个格子的第一个格子的位置。
引用的时候直接找第一个格子位置,然后取对应类型所需的格子。
追问
是在比喻吗?——假定?
追答
原理是这样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式