最近学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无用
悬赏问题
- ¥60 ESP32怎么烧录自启动程序
- ¥50 html2canvas超出滚动条不显示
- ¥15 java业务性能问题求解(sql,业务设计相关)
- ¥15 52810 尾椎c三个a 写蓝牙地址
- ¥15 elmos524.33 eeprom的读写问题
- ¥15 使用Java milo连接Kepserver服务端报错?
- ¥15 用ADS设计一款的射频功率放大器
- ¥15 怎么求交点连线的理论解?
- ¥20 软件开发方法学习来了
- ¥15 微信小程序商城如何实现多商户收款 平台分润抽成