一. 全局变量
全局变量是在所有函数体的外部定义的,程序的所有部分(其他文件的代码)都可以使用。全局变量不受作用域的影响。全局变量的生命周期一直到程序的结束,全局变量是静态存储方式。
例:
#include <stdio.h>
#include <stdlib.h>
/* a 就是一个全局变量*/
int a = 2;
int main(int argc, char *argv[]) {
printf(“int 存储大小 : %d \n”, a);
return 0;
}
如果在一个文件中使用extern关键字来声明另一个文件中存在的全局变量,那么这个文件可以使用这个变量。
例:
在a.c中定义一个全局变量
#include <stdio.h>
#include <stdlib.h>
int a = 3;/定义在a.c文件中的全局变量a/
在main.c中使用extern关键字引用a.c中的全局变量a
#include <stdio.h>
#include <stdlib.h>
/* 使用extern管金子引用a.c中的全局变量a*/
extern int a;
int main(int argc, char *argv[]) {
printf(“int 存储大小 : %d \n”, a);
return 0;
}
二.局部变量
局部变量出现在一个作用域内,它们是局限于一个函数的。局部变量经常被称为自动变量,因为它们在进入作用域时,自动生成,离开作用域时自动消失。关键字auto可以显示的说明这个问题,