5.8 C++变量结束 | 输出各种变量的值

举报
C语言入门到精通 发表于 2021/02/10 02:57:54 2021/02/10
【摘要】 C++register寄存器变量变量除了数据类型以外,还有3种属性: 存储类别,C++允许使用auto,static,register和extern4种存储类别。作用域,指程序中可以引用该变量的区域。存储期,指变量在内存的存储期限。auto, static和register3种存储类别只能用于变量的定义语句中。auto char character1;//字符型自动变量,在函数...

C++register寄存器变量

变量除了数据类型以外,还有3种属性:

  • 存储类别,C++允许使用auto,static,register和extern4种存储类别。
  • 作用域,指程序中可以引用该变量的区域。
  • 存储期,指变量在内存的存储期限。

auto, static和register3种存储类别只能用于变量的定义语句中。

auto char character1;//字符型自动变量,在函数内定义
static int number1;//静态局部整型变量
register int number2;//整型寄存器变量,在函数内定义
extern int  number3;//声明一个已定义的外部整型变量

从作用域角度分,有局部变量和全局变量。

局部变量

  • 自动变量,,即动态局部变量
  • 动态局部变量
  • 寄存器变量
  • 形式参数

全局变量

  • 静态外部变量
  • 外部变量

从变量存储期来区分,有动态存储和静态存储两种类型

动态存储

  • 自动变量
  • 寄存器变量
  • 形式参数

静态存储

  • 静态局部变量
  • 静态外部变量
  • 外部变量

从变量值存放的位置来区分,可分为

内存中静态存储区

  • 静态局部变量
  • 静态外部变量
  • 外部变量

内存中动态存储区,自动变量和形式参数 。

CPU 中的寄存器,寄存器变量。

C++中一个函数一般由:声明部分、执行语句两部分组成,声明部分的作用是对有关的标识符的属性进行说明,对于函数,声明和定义的区别是明显的,函数的声明是函数的原型,而函数的定义是函数功能的确立。

对函数的声明是可以放在声明部分中的,而函数的定义显然不在函数的声明部分范围内,它是一个文件中 的独立模块。

对变量而言,声明与定义的关系稍微复杂一些。在声明部分出现的变量有两种情况:一种是需要建立存储空间的;另一种是不需要建立存储空间的。

经典案例:C++输出各种变量。

源码分析:

#include<iostream>//头文件 
using namespace std;//命名空间 
int main()//主函数 
{
  auto int num1=1;
  static int num2=2; register int num3=3;
  cout<<num1<<endl;
  cout<<num2<<endl;
  cout<<num3<<endl;
  return 0;//函数返回值为0 
}

编译后的结果:

1
2
3

--------------------------------
Process exited after 1.476 seconds with return value 0
请按任意键继续. . .
5.8 C++变量总结 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/326714705

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。