局部变量与全局变量
#define CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
//局部变量
//形参也是局部变量
void fun01(int a)
{
int b=20;
}
int main0101()
{
//局部变量:在函数内部定义的变量,使用auto修饰,可省略;
//作用域:所在函数内部
//生命周期:从创建到函数结束
auto int a=10;
printf("%d\n",a);//10
for(int i=0;i<10;i++);//这里的i是局部变量
{
}
//printf("%d\n",i);//但作用域只限于for循环内
//作用域于主函数内
int i;
for(int i=0;i<10;i++)
{
}
printf("%d\n",i);//10
return EXIT_SUCCESS;
}
//全局变量
//全局变量可以和局部变量重名;项目中不能同时存在重名的全局变量;
//全局变量:在函数外部定义的变量;
//作用域:项目中的所有文件,如果在其它文件中作用需要声明;
//生命周期:从程序创建到程序销毁
int a=10;
int main(void)
{
//数据在操作时会采用就进原则
printf("%d\n",a);//10
int a=123;
//匿名内部函数
{
//int a=456;//这里a的作用域是当前{}里;并且不会影响下面的程序;这里int a=456的地址与上面int a=123的地址不同
a=456;//这里a的作用域是外层{};并且会影响下面的程序;这里a=456的地址与上面int a=123的地址相同
printf("%d\n", a);
}
printf("%d\n", a);
return 0;
}