LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 524|回复: 0

存储类

[复制链接]
发表于 2024-2-20 23:11:04 | 显示全部楼层 |阅读模式
具有全局或命名空间范围的变量的存储在程序的整个持续时间内分配。这被称为静态存储,它与局部变量(在块内声明的变量)的存储形成鲜明对比。这些使用所谓的自动存储。局部变量的存储仅在声明局部变量的块期间可用;之后,相同的存储可以用于其他函数的局部变量,或者以其他方式使用。

但是,具有静态存储的变量和具有自动存储的变量之间还有另一个实质性的区别:
- 具有静态存储的变量(例如全局变量)如果未显式初始化,则会自动初始化为零。
- 具有自动存储功能的变量(例如局部变量)如果未显式初始化,则未初始化,因此具有不确定的值。

例如:
// static vs automatic storage
#include <iostream>
using namespace std;

int x;

int main ()
{
  int y;
  cout << x << '\n';
  cout << y << '\n';
  return 0;
}
0
4285838

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表