1. 程式人生 > >區域性變數儲存類別

區域性變數儲存類別

1.自動變數(auto)
int f(int a)
{
auto int a,b;
}
auto 可以省略
int b,c=3;等價於 auto int b,c=3;
2.靜態區域性變數(static)
#include< stdio.h>
int main()
{
int f(int t);
int a=2,i;
for(i=0;i<3;i++)
printf(“%d \n”,f(a));
return 0
}
int f(int a)
{
auto int b=0;//自動變數
static c=3;//區域性變數
b=b+1;
c=c+1;
return (a+b+c);
}
輸出:7.8.9
static c=c+1;區域性變數不釋放,4,5,6
例:
1到5階乘
#include< stdio.h>
int main()
{
int fac(int n)
int i;
for(i=1;i<=5;i++)
printf(“%d!=%d\n”,i,fac(i));
return 0;
}
int fac(int n)
{
static int f=1;
f=f*n;
retrun(f);
}