c - 使用未初始化的全局变量(用于读取和写入)可以吗?

标签 c variables initialization global-variables

如果我在 C 程序中使用未初始化的全局变量,会发生什么?这是未定义的行为吗?

#include <stdio.h>

int i;

int main() 
{
    while(i < 5)
    {
        i++;
    }
    printf("%d\n", i);
    return 0;
}

最佳答案

Is it undefined behavior?

没有。

What happens?

i 具有静态存储持续时间(文件范围)。默认情况下它将初始化为零。

关于c - 使用未初始化的全局变量(用于读取和写入)可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44644721/

相关文章:

c++ - 如何在 C++ 中初始化孙子的祖 parent (const)属性?

c - 如何使用 C 语言中的预编译器初始化数组

c - 获取函数地址时如何获得 RTLD_LAZY 行为?

c - 通过引用传递二维数组

c - 如何在 C 中进行退格处理

string - 如何向 Ansible 变量添加新行 "\n"字符

c++ - 在 C 和 Pascal 中禁用 system() 和 exec() 函数

php - 让变量在大括号之外工作

php - 我的插入语句(php 到 mysql)无法使用我的变量

c++ - 初始化忽略构造函数模板