C语言全局变量的缺陷 和 全局变量建议的写法
C语言全局变量的缺陷
#include <stdio.h>
int a;
int a;
int a = 0;//定义,其他是声明
int a;
int a;
//有1次是定义,有3次是声明
int c;
int c;
int c;
int c;
//1、如果定义一个全局变量,没有赋值(初始化),无法确定是定义,还是声明
//2、如果定义一个全局变量,同时初始化,这个肯定是定义
int main(int argc, char const *argv[])
{
//只有声明,没有定义,无法给变量赋值
//extern int b = 10;
c = 10;
printf("b = %d\n", b);
return 0;
}
C语言全局变量建议的写法
#include <stdio.h>
//1、定义一个全局变量,建议初始化
int a = 10;
//2、如果声明一个全局变量,建议加extern
extern int a;
int main(int argc, char const *argv[])
{
return 0;
}