当前位置:首页 > 编程教程 > c++编程 > C语言 静态变量static的用法

C语言 静态变量static的用法

2017-03-16 09:31:50[c++编程]点击数:作者:Z_hehe的博客来源: 网络
随机为您推荐的文章:oj输入格式的要求

对于oj,其对于输入的格式有严格的要求,有时候即使算法正确,格式不对一样不能AC。 比如 输出的行尾有没有空格 行与行之间有没有空行 输出数据之间有

static有两个作用 第一个作用: 修饰变量,变量又分为局部和全局变量,但他们都存在内存的静态区

静态全局变量,作用于仅限于变量被定义的文件。其他文件即使用extern声明也没法使用,准确说就是作用域是从定义处开始,到文件结束,

在定义处之前的那些代码不能使用它。

静态局部变量,在函数里定义,就只能在这个函数里使用,同一个文档中的其他函数也是用不了的。由于被static修饰的变量总是存在内存的

静态区。所以即使这个函数运行结束,这个静态变量的值不会被销毁,函数下次使用时仍能使用。

第二个作用:修饰函数 函数前加static使得成为静态函数,但此处的“static”的含义不是指存储,而是只对对函数的作用域仅限于本文件(所以有内部函数)

 

关键字static有着不寻常的历史,起初在C中表示退出一个块后仍然存在的局部变量,之后在C中又有了第二种含义:用来表示被其他

 

文件访问的全局变量和函数。

 

 

 

[html]view plaincopy

 

 

 

<prename="code"class="html">//关键字static的用法 #include<stdio.h> #include<stdlib.h> staticintn;//定义的静态全局变量 intfun1() { staticintm=0;//静态局部变量 m++; returnm; } intfun2() { n=0; n++; returnn; } intmain() { inti; for(i=0;i<10;i++) { fun1();//m为静态局部变量这个函数运行结束,这个静态变量的值不会被销毁,函数下次使用时仍能使用。 fun2();//n静态全局变量作用于仅限于变量被定义的文件。 } printf("m=%d\n",fun1()); printf("n=%d\n",fun2()); system("pause"); return0; } C语言 静态变量static的用法

 

 

 

 

输出结果:

C语言 静态变量static的用法

 

 

 

以上就是C语言 静态变量static的用法的全文介绍,希望对您学习和使用c++编程开发有所帮助.

这些内容可能对你也有帮助

更多c++编程可查看c++编程列表页。

TAGS: 变量   静态   语言