美文网首页
C++存储类别

C++存储类别

作者: 魂之挽歌w | 来源:发表于2017-12-22 20:24 被阅读15次

变量的另一种属性:存储期(也称生命期)

存储期是指变量在内存中的存在期间。可以分为静态存储期动态存储期

全局变量,静态外部变量,静态局部变量都在静态存储中,另外动态存储中有:

1.函数形式参数(即函数的形参)

2.函数中的局部变量(这里指未加static声明的局部变量)

3.函数调用时的现场保护和返回地址

C++中变量除了数据类型的属性之外,还有存储类别的属性

存储类别指的是数据在内存中存储的方法,即动态存储,静态存储两大类,具体为:

1.自动的(auto)   形参和函数中变量一般都是自动的,即动态存储中因为auto可以省略,即不写系统默认为auto

2.静态的(static)    在静态存储区分配存储单元,在程序整个运行期间都不释放,外部变量添加static只限于被本文件引用

3.寄存器的(register)   将局部变量的值放在CPU的存储器中(针对频繁使用的变量,提高执行效率)

4.外部的(extern)   全局变量在函数的外部定义,作用域为从变量的定义开始,到本程序文件末尾

如果在定义点之前的函数想用该全局变量,则应该在引用之前用extern进行外部声明!

例子:

main(){

extern int a,b;//此处使用了未定义的全局变量

cout<<max(a,b)<<endl;     }

int a=13,b=23;

int max(int x,int y){

        int z;

z=x>y?x:y;

return z;}

相关文章

  • C++存储类别

    变量的另一种属性:存储期(也称生命期) 存储期是指变量在内存中的存在期间。可以分为静态存储期和动态存储期! 全局变...

  • C++变量的存储类别

    参考:C++(存储类)经典!! C++存储类(菜鸟教程) C++变量属性 一个变量除了数据类型以外,还有3种属性:...

  • extern存储类别c c++区别

    区别就是entern后面的数据类型是否可以省略 c 两种 结果3,2 结果3,2 c++ 只有这一种 结果3,...

  • C 内存管理

    1、存储类别 C 语言提供了多个不同的存储类别在内存中存储数据。要理解这些存储类别,我们先来理解一些概念。 1.1...

  • C++变量的存储说明符和cv-限定符

    在C++中创建变量时,前面有时会有一些修饰符,这里总结一下。 大体分为两个类别:存储说明符和cv-限定符。 存储说...

  • C++ 值类别

    示例地址:值类别示例 1概述 每一个表达式都由类型和值类别来辨别,每个表达式都有一个非引用的类型,和一个值类别 值...

  • C++值类别

    每个C++表达式(带有操作数的操作符、字面量、变量名等)可按照两种独立的特性加以辨别:类型和值类别 (value ...

  • C primer Plus study note chapter

    存储类别:C中提供了许多不同的模型或者存储类别在内存中存储数据。从硬件方面看:被存储的值都占用了一定的物理内存,C...

  • C++变量的存储类别(动态存储、静态存储、自动变量、寄存器变量、

    转载自http://c.biancheng.net/cpp/biancheng/view/141.html 动态存...

  • MATLAB的Categorical数组

    8 Categorical数组 类别(categorical)数组是一种存储有限类别数据的数组类型。类别数组可以提...

网友评论

      本文标题:C++存储类别

      本文链接:https://www.haomeiwen.com/subject/ysmxgxtx.html