变量
前提:一个完整的程序包括以下四个步骤
- 声明
- 输入
- 执行
- 输出
局部变量
- 函数内部
- 复合语句内部
3. #include <stdio.h>
int bb()
{
int m,n;//m,n仅在此函数范围有效
int a,b;//tongshang
}
main()
{
int a,b;//只在main函数中有效
}
全局变量
1.本文件可用
#include <stdio.h>
int t;//全局变量
int bb()
{
int m,n;//m,n仅在此函数范围有效
int a,b;//tongshang
}
char s;//定义这一刻后。后面的程序都可用
main()
{
int a,b;//只在main函数中有效
}
2.定义全局变量后,平行的几个函数都可以使用,并对他做出改变后的值不会被释放(这个全局变量各个函数都在同一个位置对他改变)
3. 不必要时不要使用全局变量(在某一个函数被改变时,下一个人不知道啥情况)
4.
#include <stdio.h>
int a=8;
main()
{
int a=3,b=8;
printf("%d%d",a,b);
}
输出结果为3,8
动态存储与静态存储
static 若不赋初值是0
auto 要赋初值才行QAQ
变量存放类型所对应区域
静态存储区:全局变量,static变量
动态存储区:1,函数形参 2,没有用static声明的变量 3,函数调用时的现场保护和返回地址
static(使函数局部化)
- 局部变量中static仅在本函数有效。
- 函数调用结束后的局部变量继续保持原值不被释放。
-限制 extern引用的外部变量