![C語言學習第八章中文_第1頁](http://file4.renrendoc.com/view/b877157ee9f1a5f37d1dec175f613140/b877157ee9f1a5f37d1dec175f6131401.gif)
![C語言學習第八章中文_第2頁](http://file4.renrendoc.com/view/b877157ee9f1a5f37d1dec175f613140/b877157ee9f1a5f37d1dec175f6131402.gif)
![C語言學習第八章中文_第3頁](http://file4.renrendoc.com/view/b877157ee9f1a5f37d1dec175f613140/b877157ee9f1a5f37d1dec175f6131403.gif)
![C語言學習第八章中文_第4頁](http://file4.renrendoc.com/view/b877157ee9f1a5f37d1dec175f613140/b877157ee9f1a5f37d1dec175f6131404.gif)
![C語言學習第八章中文_第5頁](http://file4.renrendoc.com/view/b877157ee9f1a5f37d1dec175f613140/b877157ee9f1a5f37d1dec175f6131405.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
變量的作用域
與變量的存儲類別
8.8局部變量和全局變量--8.8.1局部變量內部變量:在一個函數內部定義的變量稱內部變量。它只在本函數范圍內有效,即:只有在本函數內才能使用這些變量,故稱為“局部變量”。floatf1(inta)/*函數f1*/{
intb,c;…/*a、b、c有效*/}charf2(intx,inty)/*函數f2*/{inti,j;/*x、y、i、j有效*/}voidmain()/*主函數*/{intm,n;…/*m、n有效*/}8.8局部變量和全局變量--8.8.1局部變量內部變量:⑴主函數中定義的變量只在主函數中有效,而不因為在主函數中定義而在整個文件或程序中有效。主函數也不能使用其他函數中定義的變量。⑵不同函數中可以使用相同名字的變量,它們代表不同的對象,互不干擾。⑶形式參數也是局部變量。⑷在一個函數內部,可以在復合語句中定義變量,這些變量只在本復合語句中有效,這種復合語句也稱為“分程序”或“程序塊”。8.8局部變量和全局變量--8.8.1局部變量內部變量:voidmain(){inta,b;……{intc;c=a+b;c在此范圍內有效a,b在此范圍內也有效
……
}…}復合語句也稱為“分程序”或“程序塊”。8.8局部變量和全局變量--8.8.2全局變量外部變量:函數之外定義的變量稱為外部變量。外部變量可以為本文件中其他函數所共用。它的有效范圍為從定義變量的位置開始到本源文件結束。所以也稱全程變量。
8.8局部變量和全局變量--8.8.2全局變量外部變量:intp=1,q=5;/*外部變量*/floatf1(inta)/*定義函數f1*/{intb,c;…}charc1,c2;/*外部變量*/charf2(intx,inty)/*定義函數f2*/{inti,j;全局變量p,q的作用范圍
…全局變量c1,c2的作用范圍}voidmain()/*主函數*/{intm,n;…}
8.8局部變量和全局變量--8.8.2全局變量例8.15有一個一維數組,內放10個學生成績,寫一個函數,求出平均分、最高分和最低分。#include<stdio.h>floatMax=0,Min=0;
/*全局變量*/voidmain()
{floataverage(floatarray[],intn);floatave,score[10];
inti;
for(i=0;i<10;i++)
scanf(“%f”,&score[i]);
ave=average(score,10);
printf(“max=%6.2f\nmin=%6.2f\naverage=%6.2f\n“,Max,Min,ave);
}8.8局部變量和全局變量--8.8.2全局變量floataverage(floatarray[],intn)/*定義函數,形參為數組*/
{inti;
floataver,sum=array[0];
Max=Min=array[0];
for(i=1;i<n;i++)
{if(array[i]>Max)Max=array[i];
elseif(array[i]<Min)Min=array[i];
sum=sum+array[i];
}
aver=sum/n;
return(aver);
}8.8局部變量和全局變量--8.8.2全局變量8.域8局部戰(zhàn)變量呢和全容局變族量--8.碌8.忽2全局懇變量建議附:一般關不使思用全圾局變許量,年因為鐮:⑴全局酬變量本在程繡序的嘩全部兔執(zhí)行朗過程吊中都唉占用填存儲妥單元懂,而躁不是固僅在努需要腿時才繼開辟辛單元唯。⑵使用尾全局矛變量甜過多泡,會帝降低冷程序物的清廈晰性爽。在視各個動函數奔執(zhí)行蛾時都面可能咬改變費外部鉤變量俯的值持,程窄序容桂易出版錯。朵因此侮,要股限制欲使用姓全局群變量殊。⑶降低響函數指的通濤用性作。因墨為函億數在頸執(zhí)行粥時要供依賴違于其魔所在所的外永部變繡量。挖如果秤將一跑個函課數移騎到另性一個騎文件奔中,光還要費將有過關的贊外部秒變量奸及其賤值一早起移虎過去而。但災若該巷外部哥變量掘與其廳他文缺件的毅變量精同名枯時,爭就會孤出現旅問題厚,降答低了擇程序蹦的可用靠性拾和通治用性羽。一義般要勉求把蜜C程劃序中際的函立數做厭成一壁個封亭閉體絞,除幟了可嚴以通塘過“賴實參——形參村”的朱渠道杠與外檔界發(fā)嘉生聯(lián)寬系外浙,沒爐有其幫他渠適道。8.職8局部潑變量硬和全情局變方量--8.嗎8.漸2全局淘變量例8.欄16外部戴變量異與局袍部變取量同姑名。#i圖nc傻lu辛de作<st佳di無o.仗h>in方ta=猶3,旺b=發(fā)5;夫/悠*a,緊b為外蝦部變納量*/a,浩b作用布范圍vo徒id次m暗ai鑄n治(奴){in威ta=洗8;秤/金*a為局年部變犁量*/局部揉變量a作用攤范圍pr俗in悼tf鐵(“挨%d傘”,循ma每x(布a,辰b))秘;全局幼變量b的作字用范攝圍}ma堪x(槐in臨ta,in蠟tb)角/針*a,怖b為局童部變推量*/{in飼tc;c=傻a>b?單a∶牽b;形參a、b作用饞范圍re晶tu束rn欣(陶c)給;}8.冠9變量挽的存草儲類尤別--8.譜9.奴1動態(tài)紡存儲米方式積與靜農態(tài)存舒儲方請式從變脆量的鋒作用舊域(刺即從侮空間著)角限度來麥分,湯可分闖為:全局陜變量局部瘡變量從變顏量值巖存在前的時輛間角下度來亞分,查可分擾為:靜態(tài)柿存儲供方式寧:指禮在程貧序運腦行期輛間由配系統(tǒng)鳴分配瘦固定蔥的存騰儲空恐間的理方式吹。動態(tài)浴存儲進方式議:則炊是在妻程序泳運行叉期間罰根據盼需要緩進行否動態(tài)設的分罩配存斗儲空徒間的亮方式火。該臥存儲散空間攀可分槍為:⑴程序君區(qū)⑵靜態(tài)彈存儲吉區(qū)⑶動態(tài)獨存儲搖區(qū)8.蘭9變量營的存畝儲類忠別--8.輔9.荷1動態(tài)粱存儲些方式叮與靜淹態(tài)存津儲方透式變量接和函從數有香兩個粘屬性拜:數據居類型數據號的存輔儲類箱別:數據闖在內瞇存中桑存儲飯的方熱式。存儲懇方式請分為疑兩大等類:靜態(tài)乏存儲半類動態(tài)擦存儲哄類⑴自動尸的(au扇to)⑵靜態(tài)歲的(st著at桐ic)⑶寄存墨器的沖(re線gi撓st愁er)⑷外部振的(ex語te澤rn)根據杰變量貧的存鼠儲類核別,懇可以址知道碧變量禁的作酸用域鬼和生喪存期竿。8.騎9變量港的存研儲類萬別--8.左9.港2推au濁t(yī)o變量自動殊變量au泛to:專門狀聲明蒙為st曾at墊ic存儲翅類別乘的局葛部變走量都基是動史態(tài)分效配存挺儲空浪間,使在調冠用該谷函數辛時系筋統(tǒng)會綠給它魔們分涂配存童儲空趙間,拜在函星數調剩用結然束時歉就自旺動釋糞放這唇些存槐儲空名間。鉗因此待這類局部云變量稱為畫自動本變量覆。自動拴變量奏用關僻鍵字au戰(zhàn)to作存農儲類撕別的傘聲明棕。函數奶中的蘇形參脅和在賣函數奔中定艘義的豪變量(包括庸在復裁合語瞧句中精定義斧的變遺量),都晌屬此鼻類。例如起:in芽tf(擱in攪ta)駁/*定庫義f函數棋,a為形祝參*/{險a際ut倡oin羨tb,梁c=3比;爺/*定義b、c為自屠動變聲量*/…}8.使9變量治的存登儲類習別--8.消9.敗3用st題at沒ic聲明悉局部及變量靜態(tài)咸變量st敏at桿ic:當函戚數中宜的局柿部變飼量的話值在救函數謝調用等結束政后不饞消失旱而保舌留原鄭值時叼,該蜘變量限稱為因靜態(tài)便局部美變量昨。用關吹鍵字st葵at活ic進行教聲明榨。8.擦9變量圈的存屬儲類產別--8.暈9.喜3用st批at鬼ic聲明竟局部煮變量例8.享17考察意靜態(tài)遠局部繩變量銳的值蹄。#i按nc生lu將de刷<st要di縱o.猛h>vo訪id扎ma應in斧(棍){in過tf(玻in互t);in蜻ta=擱2,輪i;fo乖r雀(影i=灑0;跨i雷<3表;虜i+錯+)pr庫in錢tf愁(“盯%d腫”,胖f(貴a);}in鼻tf(廣in淹ta){研a挽ut墓oin灣tb=公0;st旺at判ic件c狹=3疲;b=淡b+汪1;c=摘c+宗1;re治tu卻rn需(a+厲b+怨c);}8.虹9變量雄的存吧儲類嚇別--8.幅9.豆3用st哄at聰ic聲明新局部旋變量對靜蛇態(tài)局叉部變陵量的緩說明忘:⑴靜態(tài)稀局部食變量妥屬靜難態(tài)存院儲類掉別,蓬在靜毅態(tài)存虎儲區(qū)壯內分呈配存郊儲單捆元。良在程蜻序整踩個運珠行期江間都翅不釋漸放。馬而自駱動變購量(塔即動蠟態(tài)局屠部變燃量)播屬動盾態(tài)存似儲類戀別,驢占動席態(tài)存版儲區(qū)升空間斯而不歸占靜欺態(tài)存焰儲區(qū)躬空間而,函鄙數調赤用結蜻束后叛即釋疼放。⑵對靜共態(tài)局寒部變不量是成在編譽譯時雪賦初何值的背,即午只賦辜初值纖一次怕,在縣程序肢運行降時它騎已有遼初值皆。以餅后每阻次調綠用函抹數時分不再備重新盜賦初揀值而隊只是料保留油上次箭函數發(fā)調用倘結束嘩時的怨值。⑶如在貴定義牢局部狀變量摟時不斤賦初走值的謝話,殼則對碎靜態(tài)枕局部娃變量社來說宏,編啄譯時貸自動算賦初哄值0駝(對擊數值尺型變剖量)沿或空撥字符炮(對謊字符顫變量悶)。咸而對重自動像變量傭來說寬,如引果不晉賦初達值則堤它的喇值是解一個突不確悠定的愁值。⑷雖然河靜態(tài)蔑局部憑變量嶄在函文數調惡用結睜束后鞠仍然但存在攜,但鳳其他范函數陸不能碧引用架它。8.圾9變量棄的存別儲類狠別--8.擊9.交3用st摟at蠅ic聲明受局部男變量例8.除18輸出1到5的階爭乘值討。#i傅nc納lu庸de綿<st腔di題o.晶h>vo腦id千ma決in王(精){in淋tfa堡c(斯in聯(lián)tn)逝;in織ti;fo討r君(i峽=1叉;蔽i<翻=5理;墾i+徹+)pr亭in領tf貴(“宣%d!=擴%d\揀n”,喜i僚,fa桌c(愈i))女;}in模tfa刪c(端in抗tn){降s葬t(yī)a關ti到cin宗tf=很1;f=復f*寇n;re規(guī)tu乏rn棒(f);}8.暈9變量維的存藥儲類緞別--8.傘9.嚴4聰re務gi敲st墳er變量寄存踐器變胃量re語gi拐st抱er:變量泥的值軌是存煮放在錢內存震中的虹。當餅程序樓中用尚到哪困一個棚變量除的值燙時,治由控耳制器呀發(fā)出剛指令膽將內也存中冤該變航量的輝值送嘆到運納算器篇中。肯經過盾運算周器進懷行運下算,出如果餅需要匪存數芳,再肯從運淚算器誘將數笛據送利到內海存存娛放。8.央9變量積的存壤儲類錄別--8.男9.明4聾re蔑gi籠st顛er變量寄存洗器變效量re離gi爭st晉er的使武用:如果布有一掃些變貞量使量用頻船繁,瞞則為憑存取奸變量羅的值致要花柳費不占少時兄間。為提柳高執(zhí)規(guī)行效桶率,C語言扮允許欺將局數部變芝量的事值放兔在CP超U中的咳寄存且器中轉,需晶要用避時直蓋接從擱寄存羞器取竄出參劍加運對算,健不必劑再到夕內存續(xù)中去世存取裝。由于甩對寄回存器持的存朋取速竭度遠山高于屯對內階存的繳存取示速度嶺,因計此這濕樣做??梢詧筇岣吒蓤?zhí)行巨效率葛。這種需變量銳叫做堅寄存集器變萌量,刊用關柔鍵字re擔gi哲st錯er作聲酬明。8.蜻9變量柳的存花儲類作別--8.棋9.為5用ex棗te貪rn聲明棗外部混變量外部敞變量銹:外部汗變量把是在蓋函數獅的外鑰部定始義的漁全局叮變量減,它身的作凡用域懇是從舟變量價的定孝義處寺開始液,到牢本程嘗序文劉件的陵末尾辱。在此烏作用向域內較,全形局變門量可宰以為兔程序勸中各蠅個函杯數所霉引用浮。編冠譯時驕將外愿部變野量分介配在覆靜態(tài)鄙存儲詢區(qū)。用ex媽te寨rn來聲主明外檢部變覆量,解以擴緊展外俘部變割量的疏作用帥城。用ex嚼te燃rn聲明潮外部贊變量噸:在一慌個文憶件內謙聲明負外部兇變量在多期文件當的程屠序中則聲明舊外部抵變量8.渣9變量季的存掌儲類求別--8.騰9.合5用ex傅te須rn聲明偷外部火變量例8.肝20用ex葡te親rn聲明雀外部大變量政,擴賴展它課在程而序文嶄件中浙的作旦用域嬌。#i士nc班l(xiāng)u漢de縣<st池di責o.屆h>vo答id食m梁ai竹n(溜){in夕tma針x(柱in承t,眾in說t);遮/*外簡部變當量聲矮明*/ex扎te塘rn謠A稱,B殖;pr眼in體tf李("澇%d更\n種",陡ma惰x(酷A,敢B))蛛;}in榴tA=獻13屬,B儲=-駝8;江/*定拔義外木部變加量*/in照tma曲x(氏in刺tx,包in絹ty)填/*定洋義ma冤x函數希*/{in爸tz;z=束x>y?粒x:闖y;re損tu塔rn塘(z);}8.娘9變量動的存停儲類興別--8.頭9.厘5用ex食te請rn聲明束外部刻變量例8.批21用ex滅te佳rn將外尾部變籮量的雹作用賞域擴輛展到欣其他鑒文件港。本語程序槐的作田用是婦給定b的值摧,輸膽入a和m,求a×俊b和am的值膜。文破件fi榆le便1.累c中的養(yǎng)內容回為:#in效cl遣ud乖e印<st溉di螺o.督h>in艱tA;侍/刑*定義旨外部視變量礦*/vo統(tǒng)id描m兵ai序n(不){in叨tpo選we份r(刊in融t);/*函數鋤聲明嘉*/in瓶tb=掙3,碰c,幕d,商m;pr女in央tf刷(“造en盼te怖rth卡e豎nu逗mb爽er徹a萬a籌nd像i料ts讓p脾ow丙erm:嶄\n”)堵;sc選an陰f(猴“%言d,敬%d”,朗&昏A,宣&竿m)誼;c=油A*賓b;pr答in選tf賺(“霧%d*%d\焰n”斯,A遍,b吸,c);d=po絡we橡r(蝦m);pr恰in雞tf杜(“戲%d**界%d慚=%d\趟n”捉,A才,m牧,d);}8.悄9變量暖的存警儲類擁別--8.考9.耀5用ex萬te節(jié)rn聲明版外部竿變量例8.蘇21用ex康te喘rn將外熟部變愈量的挽作用賤域擴紙展到程其他潔文件蹦。本菠程序溉的作挨用是堤給定b的值皂,輸置入a和m,求a×能b和am的值楊。文件fi溉le料1.封c中的斬內容施為:#i展nc漿lu棄de角<st返di旺o.咱h>in呼tA;懷/兆*定義我外部雙變量酸*/vo挖id及m扁ai喉n(處)鋒{in外tpo司we斤r(輔in環(huán)t);/*函數情聲明拆*/in賴tb=訊3,炒c,平d,移m;pr求in裳tf程(“衫en打te病rth銅e界nu岸mb描er涼a遭a狼nd擦i獄ts裙p悼ow拖erm:憤\n”)鮮;sc異an心f(購“%智d,淘%d”,露&陵A,延&跟m)俊;c=銀A*肯b;pr蹦in震tf駝(“置%d*%d\嶼n”餃,A異,b譯,c);d=po抽we錯r(臉m);pr罩in說tf詢(“浴%d**掘%d坡=%d\族n”棚,A財,m銳,d);}文件fi尖le左2.銳c中的撤內容鼠為:ex聽te有rn概A;/*聲明A為一姑個已獲定義排的外峽部變久量*/in分tpo減wr保e(格in位tn)盞{in乖ti,至y=1議;fo掌r株(勁i=唇1;器i撓<=肢n;盜i參++璃)概y鋼=y解*A癥;理r資et港ur葛n辮(y逃);僚}8.運9變量正的存替儲類潛別--8.闊9.敗6用st技at靈ic聲明賀外部支變量用st逮at闊ic聲明項外部浩變量遺:在程鼠序設狗計中,某些槳外部串變量市只限后于被雪本文且件引患用,傳而不愈能被屬其他軌文件竿引用逃。這時獻可以記在定迎義外堵部變護量時點加一湊個st赴ai漿ti功c聲明突。例如俗:fi尿le膜1.隸c最fi豆le個2.清cst內at咱icin學tA;茅ex曾te霸rnin驕tA;vo箭id呀m座ai芬n(陳)執(zhí)v乎oi籮dfu呆n(泡in割tn){襲{緩……巨A償=A游*n量;}黃}8.婦9變量賢的存思儲類啞別--8.壤9.默7關于峰變量膠的聲亦明和古定義定義漸性聲畢明:需要不建立辣存儲厲空間漫的聲音明,陣例如約:in占ta;引用蘋性聲撈明:不需榴建立毀存儲刮空間桐的聲親明,閱例如轎:ex夸te擁rn齊a拾;注意腿:聲明樹包括頸定義劉,但息并非封所有正的聲移明都派是定著義。對“in削ta;尼”而言桐,它梯既是閣聲明投,又園是定教義。對“ex傷te枕rn群a澇;”而言惱,它滴是聲渣明而敬不是槐定義劣。8.叛9變量魂
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人信用貸款借款合同
- 工業(yè)機器人應用推廣服務協(xié)議
- 工作總結與進度匯報模板
- 優(yōu)惠協(xié)議書年
- 基于AI技術的智能家居設計開發(fā)協(xié)議
- 公司股東合作章程協(xié)議
- 應對企業(yè)運營挑戰(zhàn)的綜合性解決方案
- 離婚協(xié)議戶口遷移協(xié)議書
- 金屬礦產品采購與銷售合同
- 藥師資格證書租賃協(xié)議
- 【數控加工】數控銑床教案
- 科室藥事管理記錄本
- GB/T 3860-1995文獻敘詞標引規(guī)則
- 2023年Beck自殺意念評估量表
- GB/T 22560-2008鋼鐵件的氣體氮碳共滲
- 統(tǒng)編版四年級道德與法治下冊全冊課件
- 醫(yī)院評審工作臨床科室資料盒目錄(15個盒子)
- 壓力性損傷指南解讀
- 湯姆走丟了 詳細版課件
- 大學學院學生心理危機預防與干預工作預案
- 國有土地上房屋征收與補償條例 課件
評論
0/150
提交評論