静态变量分两种,一种是
静态外部变量,一种是
静态内部变量
静态外部变量其实就是该变量只能当前文件中的函数访问,其他文件中的不能访问
静态内部变量是只能当前函数中访问,但与那些自动变量的区别是不管其所在的函数是否被调用,它一直存在。
static呢是用来声明静态变量的,在变量前加上static即可。
举个例子:
static char buf[100];
static int bufp = 0;
// 从缓冲区获取字符
int getch(void){...}
// 将字符放回缓冲区
void ungetch(int c){...}
这个例子是操纵缓冲区的,因此读取缓冲区要共享buffer,所以将buffer声明为外部变量。那问题是
为什么要将外部变量声明为static的呢?
这就是static的作用了,因为缓冲区如果所有函数都能操作那就乱了,声明为static的目的就是为了只让当前文件中的getch和ungetch访问缓冲区,而禁止外部的函数访问,这样就起到了隐藏的目的。
再举一个
静态内部变量的例子:
main()
{
int n = 10;
while(n-->0){
test();
}
}
test(){
static int i=0;
printf("%d ",i++);
}
这个的结果不是打印出10个0,而是打印出0 1 2 ...9
分享到:
相关推荐
block,局部变量,全部变量,static的静态变量关系
MarkDown文档,大家应该都知道,@Value注解可以给类中的非静态变量注入值,但是给静态变量注入值则会有警告,结果是失败的,本文档说明了如何使用@Value注解给类的静态变量赋值
statilocal java 静态变量和静态块加载顺序,静态变量和同名静态变量块加载的顺序。
项目中,在不停地接收串口数据很长一段时间(几小时)后,会偶然性的...在Android中,用的DVM也是一样的,不过Android中不太突出进程的概念,所以对静态变量的生命周期就是感觉模糊,这种模糊对于值类型是无所谓的,如
# 题目: # 模仿静态变量(static)另一案例。 # 分析:演示一个python作用域使用方法
分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...
只要在变量前加上关键字static,该变量就成为静态变量了。 <?php function test() { static $nm = ; $nm = $nm * ; print $nm." "; } // 第一次执行,$nm = test(); // 第一次执行,$nm = test(); ...
经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。VB.NET能够实现很多C#不能做到的功能,如When语句、Optional参数、局部Static变量、对象实例访问静态...
本文实例讲述了C#中static静态变量的用法。分享给大家供大家参考。具体如下: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,...
springboot引用静态资源static中变量常用方法,经常用到的是非静态变量,在需求类方法中引入比较容易配置,当遇到静态变量时常出现错误,本文档为手动操作样例与结构展示
C_语言静态变量和静态函数,可以让您对C语言静态变量和静态函数有更清晰的认识
C++中静态成员函数与静态成员变量(static ) 这篇介绍了静态成员函数与静态成员变量,是我的读书笔记,我希望它够简短但又比较全面,起到复习的作用。如果有一些C++知识记不清楚了,它可以帮你很快回忆起来。 复习...
本文实例讲述了C#静态变量与实例变量的具体用法,分享给大家供大家参考。具体分析如下: 1)在语法定义上的区别: 类变量也叫静态变量,静态变量前要加static关键字,而实例变量前则不加; 实例变量也叫对象变量,...
Static静态变量的应用(VB6.0代码编写) Static静态变量 QQ223857666勾月
从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。因此static 这个说明符在不同的地方所起的作用是...
详细的分析了全局变量,局部变量,static变量的区别 以及使用时用该注意的东西,很不错的。有兴趣的可以看看
本文为大家介绍一种static静态局部变量的妙用方法。
主要介绍了python类和函数中使用静态变量的方法,实例分析了三种常用的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
什么是静态(static)什么是静态方法,静态变量,静态块和静态类?Java开发Java经验技巧共4页.pdf.zip