相关疑难解决方法(0)

未初始化的整数在c中始终默认为0吗?

我正在阅读nginx的源代码并发现它没有初始化许多数值变量,包括ngx_int_t ngx_last_process;,这里ngx_int_t定义为long int

#if 0
    ngx_last_process = 0;
#endif
Run Code Online (Sandbox Code Playgroud)

那么@Igor Sysoev认为没有必要进行初始化?

但是在程序中它假定默认值是0:

    for (s = 0; s < ngx_last_process; s++) {
        if (ngx_processes[s].pid == -1) {
            break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

是否保证未初始化的变量0在c中具有价值?

c initialization default-value

22
推荐指数
3
解决办法
2万
查看次数

在C中初始化变量

我知道有时如果你没有初始化int,你会得到一个随机数,如果你打印整数.

但是将所有内容初始化为零似乎有点愚蠢.

我问,因为我正在评论我的C项目并且我非常直接进行缩进并且它完全编译(90/90谢谢Stackoverflow)但是我想在样式点上得到10/10.

所以,问题是:何时适合初始化,何时应该声明一个变量:

int a = 0;
Run Code Online (Sandbox Code Playgroud)

int a;
Run Code Online (Sandbox Code Playgroud)

c initialization

21
推荐指数
5
解决办法
7万
查看次数

标签 统计

c ×2

initialization ×2

default-value ×1