变量的声明,定义和初始化,是三个不同的概念。
extern int a 声明a变量,不是定义,不给a变量分配内存空间
int a 声明a变量,也是定义a变量,分配a变量内存空间
int a=3 声明并定义a变量,分配给a变量内存空间,同时给a变量初始化值为3
不带初始化的定义:如 int a,带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值是未定义的。
变量的声明,定义和初始化,是三个不同的概念。
extern int a 声明a变量,不是定义,不给a变量分配内存空间
int a 声明a变量,也是定义a变量,分配a变量内存空间
int a=3 声明并定义a变量,分配给a变量内存空间,同时给a变量初始化值为3
不带初始化的定义:如 int a,带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值是未定义的。