黑马程序员技术交流社区
标题:
C语言之变量及其作用域
[打印本页]
作者:
chuanzhang
时间:
2016-2-21 23:40
标题:
C语言之变量及其作用域
1、不同作用域的变量可以同名
int add(int a,int b,int sum){
sum=a+b;
return sum
}
int main(){
int a=1;
int b=3;
int sum;
sum=add(a,b);
printf("sum=%d",sum);
return 0;
}
2、外层作用域和内层作用域有同名变量时,内层作用域使用自己的变量
#include<stdio.h>
int mian(){
int a=3;{
int a=5;
printf("a=%d",a);//a=5
}
printf("a=%d",a);//a=3
}
3、作用域可以被包含
#include<stdio.h>
int mian(){
int a=3;{
a=5;//两个a为同名
printf("a=%d",a);//a=5
}
printf("a=%d",a);//a=5
}
4、就近原则:通过变量名使用变量时,会优先在当前作用域寻找,没有就去父层寻找
#include<stdio.h>
int mian(){
int a=3;{
printf("a=%d",a);//a=3//本区域没有变量a,到其父层寻找变量a
}
printf("a=%d",a);//a=3
}
5、变量不会在同一级别的作用域中寻找
void sum(){
int k=9;
}
int main(){
sum();//sum()={int k=9;}
{
k=9;
printf("k=%d",k);//编译报错 无定义
}
return 0;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2