欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

静态局部变量VS自动变量(static局部变量VSauto变量)

程序员文章站 2022-04-18 19:24:30
...

根据下面的例子更好的了解静态局部变量

#include <stdio.h>

int main()
{	
	int f(int);
	int i,a = 2;
	for(i=0;i<3;i++) printf("%d\n",f(a));
	return 0;
}

int f(int a){
	auto int b = 0;
	static int c = 3;
	b=b+1;
	c=c+1;
	return(a+b+c);
}

输出:

7
8
9

--------------------------------
Process exited after 0.2603 seconds with return value 0
请按任意键继续. . .

总结:  auto int b:b是自动变量,关键字“auto”可省略。“int b ”与“auto int b”等价

             static int c :c是静态局部变量,函数调用结束后,它并不释放,保留其当前值。

相关标签: C