1、記住一條就夠了:在函數(shù)之外定義的變量就是全局變量。用static修飾的變量可以是全局的,也可以是局部的,所以說(shuō)“用static修飾的變量是全局變量”是錯(cuò)誤的。用static修飾的變量的生命周期與全局變量一樣,但可見(jiàn)性仍分全局和局部。 2、全局變量在整個(gè)c文件中都能使用,而局部變量在其作用域內(nèi)才能使用,舉個(gè)例子: int f = 7;// 這個(gè)是全局變量int myadd(int a, int b){int c = a + b;// c是局部變量,只能在myadd中使用return c;}int main(void){printf("%d\n", c);// 因?yàn)閏是myadd中定義的局部變量,這里會(huì)報(bào)錯(cuò)。printf("%d\n", f);// f是全局變量,這句是正確的。}
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括巴里坤哈薩克網(wǎng)站建設(shè)、巴里坤哈薩克網(wǎng)站制作、巴里坤哈薩克網(wǎng)頁(yè)制作以及巴里坤哈薩克網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,巴里坤哈薩克網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到巴里坤哈薩克省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
放在main函數(shù)里定義的變量是局部變量,全局變量要放在所有函數(shù)(包括main)的外部#include?int?x,y,z;
void?year(int?a,int?b,int?c);
int?main()
{
int?i,a,b,c;
for(i=1;i=1;i++)
{
scanf("%d,%d,%d",a,b,c);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=%d\n",c);
}這里x y z就是全局變量,其他都是局部變量
擴(kuò)展資料:
for循環(huán)
for循環(huán)結(jié)構(gòu)是c語(yǔ)言中最具有特色的循環(huán)語(yǔ)句,使用最為靈活方便,它的一般形式為:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語(yǔ)句 。(其中;不能省略)
表達(dá)式1為初值表達(dá)式,用于在循環(huán)開(kāi)始前為循環(huán)變量賦初值。
表達(dá)式2是循環(huán)控制邏輯表達(dá)式,它控制循環(huán)執(zhí)行的條件,決定循環(huán)的次數(shù)。
表達(dá)式3為循環(huán)控制變量修改表達(dá)式,它使for循環(huán)趨向結(jié)束。
循環(huán)體語(yǔ)句是在循環(huán)控制條件成立的情況下被反復(fù)執(zhí)行的語(yǔ)句。
但是在整個(gè)for循環(huán)過(guò)程中,表達(dá)式1只計(jì)算一次,表達(dá)式2和表達(dá)式3則可能計(jì)算多次,也可能一次也不計(jì)算。循環(huán)體可能多次執(zhí)行,也可能一次都不執(zhí)行。
先執(zhí)行表達(dá)式2,然后執(zhí)行循環(huán)結(jié)構(gòu),最后表達(dá)式3,一直這樣循環(huán)下去。
for循環(huán)語(yǔ)句是c語(yǔ)言種功能最為強(qiáng)大的語(yǔ)句,甚至在一定程度上可以代替其他的循環(huán)語(yǔ)句。
do
do循環(huán)結(jié)構(gòu),do 1 while⑵;的執(zhí)行順序是1-2-1...循環(huán),2為循環(huán)條件。
參考資料來(lái)源:百度百科-C語(yǔ)言
static變量和main函數(shù)外面定義的變量為全局變量,比如
#include"stdio.h"
int
a=3,b=5;//全局變量
max(int
a,int
b)
{
int
c;
c=ab?a:b;
return
c;
}
main()
{
int
a=8;
printf("%d\n",max(a,b));
}附圖
還有max(int
a,int
b)
{int
c;//局部,運(yùn)行完函數(shù)后c占用的內(nèi)存空間就被釋放,即c消失了
c=ab?a:b;
return
c;
}
main()
{
extern
int
a,b;//extern此處為全局變量,或者這樣定義static
int
a,b;
printf("%d\n",max(a,b));
}
int
a=3,b=5;
只要是在main前面聲明的,就不要用在函數(shù)當(dāng)中在聲明了,要是在main后面聲明的,還是需要在主函數(shù)中聲明的
一般來(lái)說(shuō),這是個(gè)習(xí)慣啊,最好在main前面聲明函數(shù),而且在main前面聲明的時(shí)候就把子函數(shù)的程序代碼寫(xiě)完,最后在吧main的代碼寫(xiě)完
也就是說(shuō)要做子函數(shù)調(diào)用之前把子函數(shù)聲明好,要不然是出錯(cuò)的
還有,所以得子函數(shù)都是全局函數(shù),這個(gè)毋庸置疑