A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chuanzhang 中级黑马   /  2016-2-21 23:40  /  975 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马