注册 登录
编程论坛 C语言论坛

小白学C语言,这里面的static是干嘛的呀!

wyh416 发布于 2021-04-22 14:55, 1987 次点击
#include<stdio.h>
int fun(int a)
 { int b=0; static int c=3; b++,c++; return a+b+c; }
void main( )
{ int x=2,i;  for(i=1;i<3;i++)
printf(“%d”,fun(x));}
3 回复
#2
东南风2021-04-22 15:43
例子的本身就是说明static的用法. static作用的变量称为静态变量, 例子中static作用于局部整形变量c, 表示变量c是静态变量,在函数fun退出后, 仍然存在直至main退出. 例子中第1次调用fun后,c初始化并自增后,值为4; 第2次调用fun后, c值不会再初始化, 其值自增后为5. 作为对比, 变量b在第1次调用fun退出后, b变量则会消失, 第2次调用则需要重新初始化.
#3
夏天q2021-04-22 18:28
用 static 关键字定义变量时,这个变量为静态变量。
static变量及其作用 可参考
http://c.
#4
zbjzbj2021-04-22 21:24
一个大工厂,有许多项目在同时或者先后进行作业。有许多仓库在存放原料和半成品。

其中有一些仓库,老板是说是“静态仓库”,这些仓库存放什么东西自始至终是不能改变的。中途也不能撤销,也不能增添静态仓库。

而另外一些仓库是可以改变用途的。比如说,现在做机柜,可以存放钢板。机柜做完啦,该做拖拉机,它可以存放车轮。隔隔改改的都可以,甚至用不着了,也可以当作车间。这些仓库是动态仓库。

计算机中不指明的仓库都是动态的,这是常规仓库。因为要提高地皮利用率。

画出来几个静态仓库,主要是特殊需要。比如,虽然现在改产品了,那个老产品以后还会在生产的,那些材料要一直放着,以后还用得到。

计算机的变量,都储存在仓库里
1