zoukankan      html  css  js  c++  java
  • C语言进阶——Day 1

    C语言提高笔记

    Day 1

    1. 小数据赋给大变量,首位是1则在前面自动补充1,首位是0则在前方自动补充0。
    2. 大数据赋给小变量,低位字节对齐,truncate截断,有可能会造成数据丢失。
    3. 程序和进程的差别:程序是源文件经过编译后的可执行文件,进程是被操作系统从程序开始到结束的整个时间。
    4. 程序在拉入内存中之前就已经具备text段和initialized data段,拉入内存后才具备进程空间中的其他段,一般来说0-3G属于用户空间,3G-4G属于系统空间,这一段空间不讨论。32位机每一个进程都是虚拟内存,都可以做到4G空间。
    5. 注意硬盘空间,虚拟内存和真实内存之间的关系。
    6. 我们对变量取地址,取的是虚拟的地址而非真实的地址。

     

        如int a中变量a就是未初始化变量,处于未初始化数据段

        int b=200,变量b是已经初始化变量,处于初始化数据段,可读可写,处于rw段,200一般

        char *p=”china”,其中p位于rw段,”china”处于ro段

        int a=20,其中20常直接放在代码段

        由以上可知,常量有可能放在text段,也有可能放在ro段,

      8. 程序中的变量常量在进程空间中的位置

     

    如此存放原因,

    (1)回顾四种修饰符:

    auto:修饰局部变量,默认为auto,随用随开,用完即消

    register:修饰局部变量,将内存变量升级到CPU寄存器中存储

    extern:修饰全局变量

    static:修饰局部变量,改变局部变量生命周期,使其生命周期同进程

    (2)栈和堆的存储

    栈中可以存放任意类型的变量,但必须是aoto类型修饰的

    注意,局部变量是存放在栈上,全局变量存放在堆上

  • 相关阅读:
    为SharePoint 2010中的FBA创建自定义登录页面
    SharePoint 2010设置问卷调查权限
    无法创建您的个人网站,因为未启用“自助式网站创建”
    等级歧视的死循环[转]
    职业生涯中的10个致命错误
    项目经理须具备所有9 大知识领域
    项目管理工具和技术
    在SharePoint Server 2010中创建“我的网站”
    MATCH_PARENT是什么类型的布局
    Android 在代码中获取手机屏幕的宽高
  • 原文地址:https://www.cnblogs.com/Cucucudeblog/p/9709875.html
Copyright © 2011-2022 走看看