zoukankan      html  css  js  c++  java
  • C语言变量总结

    1. 自动变量

    一般情况下代码块内部定义的变量都是自动变量。当然也可以显示的使用auto关键字,所有自动变量的声明周期就是变量所属的大括号

    2. register寄存器变量

    通常变量在内存当中,如果能把变量放到CPU的寄存器里面,代码执行效率会更高

    register int I;

    3. 静态变量

    静态变量是指内存位置在程序执行期间一直不改变的变量,静态变量在程序刚加载到内存的时候就出现,所以和定义静态变量的大括号无关,一直到程序结束的时候才从内存消失,同时静态变量的值只初始化一次。

    Static int I = 0;//定义了一个静态变量

    (1)代码块作用域内的静态变量(局部静态变量)

    一个代码块内部的静态变量只能被这个代码块内部访问。

    (2)代码块作用域外的静态变量(全局静态变量)

    代码块之外的静态变量在程序执行期间一直存在,但只能被定义这个变量的文件访问,代码块之外的静态变量只能在定义这个变量的文件中使用,在其他文件中不能访问。

    因为全局变量的名字是不能相同的,这样会带来一个什么问题?因为一个项目往往是多个人写的,每个人都定义自己的全局变量,最后代码合并的时候会出错。但static的全局变量在不同的文件中名字是可以相同的

    4. 全局变量

    全局变量的存储方式和静态变量相同,但可以被多个文件访问,定义在代码块之外的变量就是全局变量

    全局变量即使不在同一个文件里面,也不能重名。

    5. 外部变量与extern关键字

    extern int i;  //声明一个变量,这个变量在别的文件中已经定义了,这里只是使用,而不是定义

  • 相关阅读:
    HTTP方法(转)(学习基础)
    正则表达式 学习手记 111221
    原型模式 学习手记
    分布式事务 MSDTC配置
    Ibatis.Net 学习手记二 缓存
    IIS 7.0 部署MVC
    事务与分布式事务
    Ibatis+MVC 3.0 开发手记
    Ibatis.Net 学习手记一 简单的Demo
    简单工厂 学习手记
  • 原文地址:https://www.cnblogs.com/xumaomao/p/12292512.html
Copyright © 2011-2022 走看看