static聲明外部變量
static的作用域限定為被編譯源文件的剩余部分,不會和同一程序中的其他文件中的相同的名字相沖突。
static聲明函數
除了對該函數聲明所在的文件可見外,其他文件都無法訪問。
static聲明內部變量
該變量只能在特定函數中使用,但一直占據存儲空間。變量的值不會因函數的結束而變化,static聲明的變量可以起到外部變量的一部分作用。
測試代碼如下,返回值為16。
# include <stdio.h>
int add(int a)
{
static int i = 7;
i = a + i;
return i;
}
int main(void)
{
add(3);
add(2);
printf("%d", add(4));
return 0;
}