存储类型是从变量的存在时间(即生存期)来划分变量。变量的存储类型可分为静态存储方式动态存储方式。对于动态存储变量,当程序运行到该变量处时才为其分配存储空间,当程序运行到该变量所在作用域的结束处时自动收回为其分配的存储空间,因此它的生存期为所在作用域。在程序开始就执行就为其分配存储空间,直到程序结束时,才收回变量的存储空间,这种变量称为静态存储空间,其生命周期为整个程序执行的过程

C++中,变量的存储类型有自动类型、寄存器类型、静态类型、外部类型等4种。

自动类型(outo):自动类型只能是局部类型的变量。属于动态存储类型。

静态存储变量(static):static,即在程序运行的过程中静态变量始终是占用一个存储空间。静态变量只能在他的作用范围内使用,使用局部静态变量是为了在下次调用该函数时,能使用上次调用后得到的该变量的值。

寄存器类型变量(register):属于动态存储类型,编译器不为寄存器类型的变量分配内存空间,而是直接使用CPU的寄存器。以便提高对这类变量的存取速度。主要用于控制循环次数等不需要长期保存值的变量。

外部类型变量(extern):外部类型变量必须 是全局变量,在C++中,有两种情况下需要使用外部类型变量:1,在同一源程序在文件中,当在全局的定义之前使用该变量时,在使用前要对该变量进行外部类 型变量声明。2,当程序有多个文件组成时,若在一个源文件中要引用在另一个源文件中定义的全局变量,在引用前必须对所引用的变量进行外部声明。

如果在某文件中定义的全局变量不想被其他文件所调用,则必须将该变量声明为静态全局变量,也就是说,静态全局变量只能供所在的文件使用。

C++ 数据存储类型相关推荐

  1. 06006_redis数据存储类型——String

    1.概述 (1)字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等: (2)在Redis中 ...

  2. 对象存储2:数据存储类型-文件存储、块存储、对象存储详解

    上一篇介绍了传统存储的几个常用类型,本篇主要介绍云平台用到的常用存储类型,分别是文件存储.块存储和对象存储. 这种分类是以数据存储的方式来命名的,体现了不同的数据存储格式.文件存储会以文件和文件夹的层 ...

  3. 笔记 - Ali Cloud OSS 简介 三种常见数据存储类型

    OSS (Ojbect Storage Service) 块存储 定义:需要分区格式化才能使用, 以数据块为存储单位 常见的存储结构, 家庭电脑就是这个结构. 常见: 直接访问存储DAS, 存储区域网 ...

  4. 8051单片机基础4:数据存储类型(data,idata,xdata,code)

    文章目录 存储类型 使用方法 详细说明 8051存储器结构 data idata bdata pdata xdata code 关于作者 参考来源:Keil > Help > uVisio ...

  5. 软件测试数据存储位置,关于数据存储类型的一点分析

    简介 SQL Server每个表中各列的数据类型的有各种形式,产生的效果也各有不同,我们主要根据效率兼顾性能的情况下讨论下如何规定类型. 在SQL Server中,数据的存储以页为单位.八个页为一个区 ...

  6. 直接在安装了redis的Linux机器上操作redis数据存储类型--hash类型

    一.概述:   我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和 ...

  7. 直接在安装了redis的Linux机器上操作redis数据存储类型--List类型

    一.概述: 在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在,Redis ...

  8. 查看DB2实际数据存储类型

    select * from wht_x; SELECT * FROM sysibm.syscolumns          WHERE  TBNAME like '%WHT_NUM'         ...

  9. 《iOS取证实战:调查、分析与移动安全》一3.4 数据存储方式

    3.4 数据存储方式 iPhone上的数据以很多方式进行存储.下面的小节涵盖了每一个数据存储的形式以供审查者了解潜在的证据如何定位或恢复. 内部存储: SQLite 数据库文件: 属性列表: 网络: ...

最新文章

  1. mysql计算两gps坐标的距离_mysql 计算两坐标间的距离
  2. Oracle Instanc Client安装命令工具
  3. C语言中extern关键字的使用
  4. 滑雪在日本 之 新泻篇 17
  5. 【Trie】阅读理解(luogu 3879/ybtoj Trie-4)
  6. JSP和Servlet互相传输数据的过程中产生的乱码问题及解决方案(没有使用AJAX的情况)...
  7. 软考信息系统项目管理师_项目整体管理---软考高级之信息系统项目管理师010
  8. ios上传闪退 php,iOS应用上架后出现闪退原因浅析
  9. 用户空间缺页异常pte_handle_fault()分析--(上)
  10. STL容器 之 vector
  11. 《软件过程管理》 第一章 软件过程规范
  12. 搞懂神经网络处理器的性能指标
  13. 论现场跟客户演示软件产品
  14. IT人士要注意叻:太晚睡会导致的后果(转)
  15. An Improved One millisecond Mobile Backbone 论文笔记
  16. 光辉岁月--beyond 献给麦德拉
  17. 网络延迟的优化方法-管理延迟
  18. 麒麟合盛(APUS)李涛:APUS云重新定义“云联邦”
  19. 互联网程序员普遍都是年薪百万嘛?
  20. 艺赛旗开发技巧-根据文本点击网页元素

热门文章

  1. Arduino设置esp8266实现局域网通信
  2. js逆向--有道翻译
  3. 数据库 --关联查询(多表查询)
  4. 基于JavaWeb平台的常用物联网硬件接口对接代码总结文档_田超凡
  5. 视觉slam14讲学习(一)之se3上的定位表示:轨迹显示与轨迹误差
  6. 关于使用fluxion工具破解wifi密码的详细教程
  7. Tkinter写一个音乐下载器
  8. 解决eclipse中java各类中文乱码问题
  9. 【转】faster-rcnn原理及相应概念解释
  10. 华为交换机关闭网页服务器,华为交换机的端口定时关闭方法