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