OK,国际惯例,先是思维导图
一、局部变量
#include <stdio.h>
int main()
{
printf("hehe\n");
int a = 100;
printf("a=%d\n", a);
return 0;
}
作用域:局部变量的作用域是局部范围(就是大括号之内)
#include <stdio.h>
int main()
{
printf("hehe\n");
{
int a = 100;
}
printf("a=%d\n", a);
return 0;
}
若是改为这样,就会导致a无法输出,因为超出了作用域
生命周期:相应的,生命周期就是这个大括号
二、全局变量
#include <stdio.h>
int main()
int g_val = 100;
{
printf("1:%d\n", g_val);
{
printf("2:%d\n", g_val);
}
printf("3:%d\n", g_val);
return 0;
}
作用域:输出会是这样的:
可以看到,在执行结果中,有三个输出,所以说明,全局变量在整个代码中都有作用,当然,想让其在整个工程中有定义,那么需要输入声明,代码为:
extern int g_val
生命周期:main函数的生命周期就是其声明周期,即全程序,加上声明可扩展到全工程
三、注意:全局函数不要用同一个函数名称,否则会重定义!
相关代码我会放在码云上,欢迎学习与交流:C语言学习之路: C语言学习当中做的相关代码 - Gitee.com