当前位置:编程学习 > C/C++ >>

C语言中,static关键字举例——局部static变量

C语言中,static关键字可以用在全局范围,也可以用在函数范围,还可以用在局部范围!
先上实验代码:
[cpp]  
#include <stdio.h>  
  
void func(int i){  
  
    if((i&0x01)==1){  
        static int j=1;//局部范围定义的static变量j  
        j++;  
        printf("i=%d,j=%d.\n",i,j);  
    }  
    else{  
        static int j=0;//再定义一个static变量j  
        j++;  
        printf("\ti=%d,j=%d.\n",i,j);  
    }  
      
    //printf("j=",j);//error.变量j未被定义  
      
    return;  
}  
  
int main(){  
    for(int i=0;i<10;++i)  
        func(i);  
          
    return 0;  
}  
 
代码输出如下:
从执行结果可以看出,if中定义的static变量j与else中定义的static变量j,互相独立,而且都会保留“上一次的赋值结果”,同时,在if和else中定义的static变量,仅在if或else的局部范围可见,局部范围之外,不可见。
 
补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,