第10章 指针(二) 首地址----------指针

 

     声明:文中观点仅代表个人,其中文字、图片未经本人许可,不得部分或全部转载,违者所造成影响后后果自负!联系本人方式:80368704@qq.com QQ:80368704
    本节,我们要进一步深入到内存中去,了解一下关于内存具体工作的过程。
   
    当我们的计算机启动后,对于我们普通的用户来说,首先在内存中必须有操作系统存在,比如我们的WINDOWS必须启动,即进入内存,相应的显示器上要处在WINDOWS的桌面状态。这个过程通常不需要我们干预就完成了,最多需要你输入个windows登录密码,而已.
   
    其后,我们要编写程序,编译器(比如TC2或VC6)要被启动,即
进入内存中,相应的显示器上要出现编译器的界面。完成编译器的启动很简单,要做的就是单击或双击TC2或VC6的图标,他们就进入内存了,哈!

    而后,我们在编译器中编写程序A,将A编译、链接成功。之后我们运行A。和WINDOWS与编译器相同,A必须首先要进入内存,才能被运行。比如在TC2中,我们的运行A的操作就是CTRL+F9,A就进入内存,同时被运行了,这个过程对于我们普通用户是很简单的。

    那么,有了上面的概念,让我们进一步
深入内存中,看看会发现些什么?我们发现,windows是在内存开始的一段区域中,接着是编译器,编译器后是我们编写的程序代码,而后是我们程序中定义的那些变量。

    下面。我们举一个实例来说明内存中WINDOWS系统、编译器、程序及其变量的这种存放顺序。
为使描述简单,在下面的描述中,我将WINDOWS和编译器,简单的就说成WINDOWS了!!!
   
    在我们下面的一个简化的实例中,假设,我们的内存有6023个单元格。而在系统正常启动后,WINDOWS占用了0~4999的内存单元,我们自己编写的程序代码被运行时,被
5000~5999中,而程序中的变量 i ,一维数组 a ,和2维数组b ,安排在代码之后,分别在6000~6001,6002~6007和6008~6019中,具体程序代码以及内存的整体示意,如下所示:

posted @   .NET快速开发框架  阅读(200)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示