预习

来源:互联网 发布:知乎社区 法律 编辑:程序博客网 时间:2024/04/28 15:39

 局部变量和全局变量

1.局部变量

局部变量是在函数内作定义说明的,其作用域仅限于函数内,离开该函数后再使用这种变量则为非法的。

int f1(int a){    int b,c;  ......}

局部变量的作用域注意点

(1).主函数是一个函数,它与其它函数是平行关系,所以在主函数中定义的变量只能在主函数中使用,不能在其它函数中使用也不能使拥其它函数中定义的变量。

(2).形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。

(3).在不同的函数中使用相同变量名是可以的。

(4).在复合语句中也可定义变量,其作用域只在复合语句范围内。

int main(){  int  i =2,j=3,k;  k=i+j;{   int k=8;   printf("%d\n",k);} printf("%d\n",k);}
全局变量

  在函数内定义的变量是局部变量,而在函数外定义的变量叫做外部变量,外部变量也属于全部变量。全局变量可以为本文件中其他函数所共用它的有效范围从定义变量的位置开始到本源文件结束。 建立全局变量的作用是增加了函数间数据联系的渠道。

 

int a,b;           /*外部变量*/void f1(){ .....}foat x,y;          /*外部变量*/int fz()           /*函数fz*/  ....}int main()        /*主函数*/{ ....}
在上列中,x,y定义咋函数f1之后,而在f1内又无对x,y的说明,所以 

用extern声明:

       如果外部变量不在文件的开头定义,其有效的作用范围只能从定义点到文件结束。如果在定义点之前的函数想引用该外部变量,则应该在应用之前用关键字extern对该变量作‘外部变量声明’。表示该变量是一个已经定义了的外部变量。有了此声明,就可以从声明处起,合法的调用该外部变量。

用static声明:

        有时在程序中希望某些外部变量只限于被本文件引用,而不能被其他文件引用。这时就可以在定义外部变量时在其前面加一个static声明。此时的外部变量也成为静态全局变量。



0 0
原创粉丝点击