int variable;
和 int variable = 0;
有什么区别?我见过它们都被使用过,如果我没记错的话,是同一作者在同一个文件中使用的。
据我所知,它们是相同的:
$ cat integers.c
#include <stdio.h>
int main(void) {
int patty;
int tim = 0;
printf("Patty: %d\nTim: %d\n", patty, tim);
}
$ gcc integers.c -o integers
$ ./integers
Patty: 0
Tim: 0
这也适用于其他变量类型:char *variable;
和 char *variable = NULL;
之间有什么区别?
最佳答案
As far as I can tell, they're the same
不,他们不是。访问 patty
是未定义的行为,因为它没有被初始化。你只是碰巧得到了相同的结果。如果 patty
是全局的,那么它将被默认初始化(0
)。
关于c - 用 0 初始化整数与不在 C 中初始化它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51334957/