C语言的全局变量与局部变量:
例如:
#include<stdio.h>
int hour = 23, minute = 59;
double pi = 3.14 + 0.0016;
void print_time(void)
{
printf("%d:%d in print_time\n", hour, minute);
}
int main(void)
{
int hour = 21, minute = 50;
print_time();
printf("%d:%d in print_time\n", hour, minute);
return 0;
}
结果:
gcc function_global.c -lm -o function_global.out
./function_global.out
23:59 in print_time
21:50 in print_time
则第一次调用 print_time 打印的是全局变量的值,第二次直接调用 printf 打印的则是 main 函数局部变量的值。在C语言中每个标识符都有特定的作用域,全局变量是定义在所有函数体之外的标识符,它的作用域从定义的位置开始直到源文件结束,而 main 函数局部变量的作用域仅限于 main 函数之中。