首页 >后端开发 >C++ >C 中变量何时以及如何自动初始化?

C 中变量何时以及如何自动初始化?

Barbara Streisand
Barbara Streisand原创
2024-12-03 17:31:10966浏览

When and How Are Variables Automatically Initialized in C  ?

C 中的变量初始化:何时何地自动发生?

理解 C 中的变量初始化对于开发健壮的代码至关重要。与 int 变量自动初始化为 0 的假设相反,以下代码片段演示了情况并非如此:

int main () {
    int a[10];
    int i;
    cout << i << endl;
    for(int i = 0; i < 10; i++)
        cout << a[i] << " ";
    return 0;
}

此代码将为未初始化的变量 i 输出一个随机值。为了解决这个问题,有必要了解 C 中控制初始化的规则。

自动初始化规则

在 C 中,变量仅在特定条件下自动初始化:

  • 类/结构实例:默认构造函数初始化将初始化所有类或结构体实例中的基本类型。
  • 数组初始化语法: 使用花括号初始化数组,例如 int a[10] = {} 或 int a[10] = { 1,2},将自动将所有未初始化的元素清零。
  • 全局/外部变量: 在函数作用域(全局或外部)之外声明的变量会自动初始化为 0。
  • 静态变量: 带有 static 关键字的变量会自动初始化为 0,无论他们的范围。

以上是C 中变量何时以及如何自动初始化?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn