局部变量:
定义在函数内部的变量称为局部变量,局部变量的作用域仅限于函数内部,在函数执行完毕之后,局部变量就会失去作用。
全局变量:
在所有函数外部定义的变量称为全局变量,它不属于某个函数,属于源程序。
例题1:
#include <stdlib.h>
int a = 200; //全局
void f(){
int a = 1; // 局部
a = 2; // 使用局部变量
printf("%d\n",a);
}
int main(){
f();
// 在main函数中
// f中的局部变量
// 此处的a就是全局变量a
printf("%d\n",a);
}
结果如下:
例题2:
#include <stdlib.h>
int a = 200;
int b = 100;
void f(){
int a = 1;
b = 2;
printf("a=%d,b=%d\n",a,b);
}
int main(){
f();
printf("a=%d,b=%d\n",a,b);
}
结果如下:
例题3:
#include <stdlib.h>
void f(int m){
m += 10;
}
int main(){
int m = 1;
printf("m=%d\n",m);
f(m);
printf("m=%d",m);
}
结果如下:
例题4:
#include <stdlib.h>
void f(int x,int y){
x += 1;
y -= 1;
}
int main(){
int x = 10;
int y = 10;
f(x,y);
printf("x=%d,y=%d",x,y);
}
结果如下:
局部变量的产生场景
1.for(int i)
2.{}. ,if(){} , while(){} , {}
#include <stdlib.h>
}
int main(){
for(int i=0;i<10;i++){
printf("%d",i);
}
printf("i=%d",i);
}
int main(){
{
int i = 1;
printf("i=%d",i);
}
int i = 2;
printf("i=%d",i);
}