关键字static的作用是什么

对于这个static的作用,文字表述有三项;

1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
 2).
在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3).
在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

 

1.1

#include<stdio.h>
int add( )
{
 int x=2;
   x++;
   return x;
 }

int main(void)
{
int i;
for(i=0;i<3;i++)
printf("%d/t",add());
while(1);
}

1.2

#include<stdio.h>
int add( )
{
 static int x=2;
   x++;
   return x;
 }

int main(void)
{
int i;
for(i=0;i<3;i++)
printf("%d/t",add());
while(1);
}

1.3

#include<stdio.h>

int x=2;
int add( )
{
   x++;
   return x;
 }

int main(void)
{
int i;
for(i=0;i<3;i++)
printf("%d/t",add());
while(1);
}

结果是(1.1) 3 3 3   (1.2)3  4  5   (1.3)3  4  5

 

 

 

3.模块内

程序

1.cpp

void display();
static void test();
int main()
{
 display();
 test();  
}

2.cpp

#include<stdio.h>
void display()
{
 printf("The display() has been called");   
    
}
static void test()
{
 printf("The test() has been called");   
    
}

结果:报错1.cpp 'void test()' used but never defined

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值