c語言怎么定義全局?jǐn)?shù)組?
在C語言中,全局變量和函數(shù)聲明及定義并列,也就是說,聲明在最外層作用域的變量即為全局變量
如在如下程序中
int i;
int main()
{
int i_copy = i;
i = 9;
return 0;
}
int
i就是一個(gè)全局變量,故在main函數(shù)中可以調(diào)用或修改i的值
所以,定義數(shù)組也和普通全局變量的方法相同,如
char str[10];
int main()
{
str[0] = 'a';
str[1] = '\0';
return 0;
}
但是有幾點(diǎn)需要注意:
C中自上向下語法分析和編譯語法樹,如果要讓所有函數(shù)都能調(diào)用該全局變量,就要把其放在所有函數(shù)定義之前,確保聲明的作用域覆蓋整個(gè)程序;
在全局變量聲明時(shí),其初始值必須為編譯時(shí)常量,不能為變量;
若要使用程序外的全局變量,需要在修飾符中加入extern關(guān)鍵字,并不要忘了和原本定義處鏈接