`
fireDragonpzy
  • 浏览: 443607 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

c++中的变量

c++ 
阅读更多
本文为firedragonpzy原创,转载务必在明显处注明:
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/935


今天研究了下变量,现在分享一下:
变量是有属性的,包括:变量的数据类别、变量的存储类别,其中,我们根据变量的存储类别又可以得知变量的作用域和存储期两个属性。
关于类别就不赘述了,但有可能会在typedef一文中解释下。下面重点来看变量的存储类别。
首先,看一下存储类别的定义:是数据在内存中存储的方法。存储方法分为静态存储和动态存储。具体包含四种:自动的(auto),静态的(static),寄存器的(register)和外部的(extern)。
其中静态存储和动态存储决定了变量的存储器是静态存储期还是动态存储期。
对于动态存储变量,当程序运行到该变量时才为其分配存储空间,当程序运行到该变量所在作用域的结束处时自动收回为其分配的存储空间,因此它的存储期为所在作用域的时间。这些变量一般是1)函数形式参数2)函数中的自动变量
对于静态存储变量,在程序开始就执行就为其分配存储空间,直到程序结束时,才收回变量的存储空间,其生命周期为整个程序执行的过程。这些变量一般是全局的或者静态的
接下来,详细介绍一下四种存储方法;
1 、自动的(auto)
函数中的局部变量,如果不用static加以声明,编译系统对它们是动态分配存储空间的。
2、静态的(static)
有两种,全局的和静态的,即在程序运行的过程中始终是占用一个存储空间。
3、寄存器的(register)
动态分配方式,编译器不为寄存器类型的变量分配内存空间,而是直接使用cpu的寄存器。以便提高对这类变量的存取速度。主要用于不需要长期保存的变量。
4、外部的(extern)
只能用来声明已经定义的全局(外部)变量,
有两种情况下需要使用全局(外部)变量,
(1)在同一源程序文件中,当在全局的定义之前使用了该变量,在使用前要对该变量进行外部类型变量声明。
(2)当程序有多个文件组成时,若在一个源文件中要引用在另一个源文件中定义的全局变量,在引用前必须对所引用的变量进行外部声明。
如果在某文件中定义的全局变量不想被其他文件所调用,则必须将该变量声明为静态全局变量,也就是说,静态全局变量只能供所在的文件使用。
分享到:
评论

相关推荐

    详解C++中变量的初始化规则

    定义没有初始化式的变量时,系统有时候会帮我们初始化变量。 系统如何初始化取决于变量的类型以及变量定义的位置。  内置类型变量是否自动初始化取决于变量定义的位置。 函数体外定义的变量初始成0;函数体内定义的...

    C++编程变量命名规范

    C++变量命名规范,有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量

    C++全局变量初始化的一点总结

    注意:本文所说的全局变量指的是 variables with static storage,措词来自 c++ 的语言标准文档。  什么时候初始化  根据 C++ 标准,全局变量的初始化要在 main 函数执行前完成,常识无疑,但是这个说法有点含糊...

    C++中类使用全局变量

    在C++中,声明一个类,并且定义一个全局变量,练习全局变量的使用。注意全局变量的使用技巧和方法。

    c++中变量的储存方式(pdf格式中的剪切)

    这是从一本资料中剪切的部分资源,希望对大家能够有所帮助!

    简单介绍C++中变量的引用

    主要简单介绍了C++中变量的引用,是C++入门学习中的基础知识,需要的朋友可以参考下

    解决C++全局变量只能初始化不能赋值的问题

    C++中,全局变量只能声明、初始化,而不能赋值 也就是说,下面这样是不被允许的: #include using namespace std; int a; a = 2; int main() { return 0; } 错误提示是: C++ requires a type specifier for all...

    c++修改系统环境变量

    c++实现修改环境变量,原帖地址忘记了,是在网易博客上找到的,分享给大家。

    C++变量名规则

    常见的C++语言中变量名称的命名规则,基本涵盖了常用的一些变量说明

    深入解析C++中的临时变量

    从操作系统底层 深入解析C++中的临时变量

    C++变量总结 说明各种变量

    在计算机中,保存变量当前值的存储单元有两类,一类是内存,另一类是CPU中的寄存器,变量的存储属性就是讨论变量的存储位置的,C语言中定义了四种存储属性,即自动变量、外部变量、静态变量和寄存器变量,它关系到...

    C++类变量声明

    C++类变量声明,验证与java类声明不同的Demo

    深入理解C++中变量的存储类别和属性

    主要介绍了C++中变量的存储类别和属性,是C++入门学习中的基础知识,需要的朋友可以参考下

    C++各变量的区别

    C++ 全面基础知识要点之变量 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,...

    C++变量命名规则

    主要是C++变量命名规则的一些常规用法。

    在C/C++项目中使用全局变量的方法

    在多文件项目中使用全局变量进行参数传递的方法总结

    C++中变量的类型与作用域学习教程

    C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和...

    C++指针变量使用详细说明

    很好的ppt,大约30多页,看完后让你彻底明白,C++中指针的使用。。

    一个案例 c++ 局部变量 全局变量 形式参数 实际参数练习.cpp

    一个案例 c++ VS2017 局部变量 全局变量 形式参数 实际参数练习 一个案例 c++ VS2017 局部变量 全局变量 形式参数 实际参数练习 一个案例 c++ VS2017 局部变量 全局变量 形式参数 实际参数练习

Global site tag (gtag.js) - Google Analytics