全局_init(初始化)例子及解析
/*
** 验证全局变量重复赋值时,是否只初始化一次,类似静态局部变量
*/
#include<stdio.h>
int g_a;
void func(void);
int main(void)
{
func();
printf("g_a = %d.\n", g_a);
func();
printf("g_a = %d.\n", g_a);
return 0;
}
void func(void)
{
//g_a = 0;
g_a++;
}
/*
** 结果:
** (1)全局变量采用定义时初始化形式时,重复使用时,使用的是上次使用的值,即为重复使用时,只会初始化一次,
** 定义时初始化形式例子:int g_a = 0;
** (2)全局变量与采用定义(不初始化(编译器为默认初始化为0)\初始化),而后续赋值初始化时,重复使用时,
** 使用的每一次赋值初始化的值。采用定义时(不初始化(编译器为默认初始化为0)\初始化),后续赋值初始化例子:
** int g_a;a = 0;\int g_a = 0;a = 0;
*/
static_init 例子及解析
/*
** 验证静态全局变量重复赋值时,是否只初始化一次,类似静态局部变量
*/
#include<stdio.h>
voi