最近学C语言指针遇到一个问题,比如说 int a = 10; 一个内存块是 1字节,那么会申请分配 4个字节 的内存空间给 a,这四块内存空间都有自己的地址,我想问的的是 -> 他是怎么确定 a 的地址是这个4地址中的哪一个呢?或者说 a 的地址C#是怎么得出来的呢?
4条回答 默认 最新
关注 其实,从你的题目来看,你已经比较熟悉C了,说刚接触是谦虚了~~~
首先,每个进行在内存中,都有所谓的数据段、代码段、栈、堆。。。。。
其次,当你定义一个int a,系统会在栈空间分配给a,并将首地址给a,例如此时地址为0x1234.。。。。
注意。。。这里是重点。。。。。首地址。。。。指针、数组只会说首地址。。。。
ok。。。。在你使用 a 的时候,系统只管0x1234 这个地址,并且知道你使用的到底是int 、还是double,这就是类型存在的意义。。。他们告诉系统从首地址连续访问多大的空间。。。例如这里,int a,那就是从0x1234 连续访问4个字节。。。。
ok。。。。至此,应该可以解惑了。。。。希望得到你的采纳~~~~本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 运动想象脑电信号数据集.vhdr
- ¥15 三因素重复测量数据R语句编写,不存在交互作用
- ¥15 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目