zoukankan      html  css  js  c++  java
  • 第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中,具体程序代码以及内存的整体示意,如下所示:

  • 相关阅读:
    oracle proc 插入操作性能优化实践
    vmware 虚拟机共享文件夹无法显示问题解决
    oracle启动报错:ORA-03113
    c语言中sprintf()函数中的%使用
    c 的内存分配
    c实现队列
    c实现循环链表
    MantisBT导出Excel文件名显示中文的修改方法
    怎样通过Qt编写C/C++代码查询当前Linux的版本号?
    Kotlin Android Extensions: 与 findViewById 说再见 (KAD 04) -- 更新版
  • 原文地址:https://www.cnblogs.com/huyong/p/2685665.html
Copyright © 2011-2022 走看看