【发布时间】:2016-03-03 23:53:01
【问题描述】:
我是 C 的新手。如果我写:
long my_array[100]; // global variable
C 是否将值初始化为零,还是我必须手动将其初始化为零?
【问题讨论】:
-
它创建一个长度为 100 的空数组。没有给出任何值。
-
是的,对于全局变量,它会自动初始化为 0。它由 C 标准定义,并非特定于 GNU。
-
如果是全局或静态声明的,则初始化为0。否则除非您自己初始化,否则不会初始化。
-
如果是自动或本地声明的变量,你必须初始化它,但你不需要全部做。即使您仅初始化第一个元素,其余元素也会被初始化为 0。
long my_array[100] = { 0,};
标签: c