freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

第四章利用函數(shù)實現(xiàn)指定功能(編輯修改稿)

2026-01-16 16:09 本頁面
 

【文章內容簡介】 max( )中均有效, 在內存中有唯一的存儲空間 。 在塊作用域內可通過作用域運算符“::”來引用 與局部變量同名 的全局變量。 include int i= 100。 void main(void) { int i , j=50。 i=18。 //訪問 局部變量 i ::i= ::i+4。 //訪問全部變量 i j= ::i+i。 //訪問全部變量 i和局部變量 j cout” ::i=” ::i’ \n’ 。 cout” i=” i’ \n’ 。 cout” j=” j’ \n’ 。 } ::i=104 i=18 j=122 三、函數(shù)原型作用域 在函數(shù)原型的參數(shù)表中說明的標識符所具有的作用域稱為函數(shù)原型作用域, 它從其說明處開始,到函數(shù)原型說明的結束處結束 。 float tt(int x , float y)。 //函數(shù) tt的原型說明 四、存儲類 (存儲期 ) 外存 內存 程序 程序區(qū) 靜態(tài)存儲區(qū) 動態(tài)存儲區(qū) 存放程序代碼 存放變量 需要區(qū)分變量的存儲類型 作用域 全局變量 局部變量 生存期 動態(tài)存儲變量 靜態(tài)存儲變量 靜態(tài)存儲:在文件運行期間有固定的存儲空間,直到文件運行結束。 動態(tài)存儲:在程序運行期間根據(jù)需要分配存儲空間,函數(shù)結束后立即釋放空間 。若一個函數(shù)在程序中被調用兩次,則每次分配的單元有可能不同。 程序區(qū) 靜態(tài)存儲區(qū) 動態(tài)存儲區(qū) 全局變量 靜態(tài)局部變量 動態(tài)局部變量 int fun(int a) { int c。 static int b=3。 c=a+ b++。 return c。 } void main(void) { int x=2, y。 y=fun(x)。 coutyendl。 y=fun(x+3)。 coutyendl。 } x 2 y a 2 b 3 c 5 45 5 a 5只賦一次初值 c 959 9輸出: 變量 b是靜態(tài)局部變量,在內存一旦開辟空間,就不會釋放,空間值一直保留 全局變量的存儲方式( extern static) 全局變量的 默認方式 ,當在 一個文件中要引用另一個文件中的全局變量或在全局變量定義之前要引用 它時,可用 extern作說明, 相當于擴大全局變量的作用域 。 靜態(tài)( static)存儲類別 extern 存儲類別 全局變量是在函數(shù)的外部定義的,編譯時 分配在靜態(tài)存儲區(qū),如果未賦初值,其值為 0。 它僅能在本文件中引用 ,即使在其它文件中用 extern說明也不能使用。 相當于限制了全局變量的作用域范圍 。 程序的作用是:給定 b的值,輸入 a和 m,求 a b和 am的值。 文件 : int a。 void main(void) { extern int power (int)。 int b=3, c, d, m。 cinam。 c=a*b。 couta“ *” b“ =“ cendl。 d= power(m)。 couta“ **” m“ =“ dendl。 } 文件 : extern int a。 int power (int n ) { int i, y=1。 for (i=1。 i=n。 i++) y*=a。 return y。 } 外部全局變量定義 外部全局變量說明 引用文件外定義的全局變量 內聯(lián)函數(shù)的作用: ? 使用函數(shù)可以縮短代碼,但 函數(shù)調用時 ,需要使用內存中的棧來保留現(xiàn)場、傳遞參數(shù)并產(chǎn)生程序轉移,這樣就 影響了程序執(zhí)行速度 內聯(lián)函數(shù) 主調函數(shù) 調用處 被調函數(shù) 主調函數(shù) 調用處 被調函數(shù) 將被調函數(shù)體的代碼直接插到調用處 內聯(lián)函數(shù) ? C++提供一種提高效率的方法 ,即在編譯時將所調用函數(shù)的代碼直接嵌入到主調函數(shù)中 ,而不是將流程轉出去 ?這種嵌入到主調函數(shù)中的函數(shù)稱為 內聯(lián)函數(shù) (inline function),又稱內置函數(shù) ? 內聯(lián)函數(shù)的定義 函數(shù)定義時, 在函數(shù)的類型前增加修飾詞 inline。 inline int max (int x, int y) { int z。 z=(xy)? x : y 。 return z。 } void main (void ) { int a,b,c。 cinab。 c=max (a+b , a*b) 。 cout“ The max is” cendl。 } max函數(shù)不復存在 int max (int x, int y) { int z。 z=(xy)? x : y 。 return z。 } 編譯時: 內聯(lián)函數(shù)的實質是用存儲空間(使用更多的存儲空間)來換取時間(減少執(zhí)行時間)。 使用內聯(lián)函數(shù),可以在編譯時直接用代碼替換掉函數(shù)調用語句,從而使執(zhí)行時不產(chǎn)生函數(shù)調用 舉例 ?內聯(lián)函數(shù)的使用場合 1. 代碼不多,只有幾行語句 2. 沒有復雜結構語句( switch和循環(huán)),否則將被當作普通函數(shù) 3. 沒有遞歸調用 ? 說明 1. 代碼多時,用普通函數(shù)是以時間換取空間 2. 代碼少時,用內聯(lián)函數(shù)是以空間換回時間,但卻保留了函數(shù)易讀、易改的優(yōu)點 內聯(lián)函數(shù)中 , 不能包含復雜的控制語句 , 如循環(huán)語句和 switch分支語句 , 以及復雜嵌套的 if語句 。 內聯(lián)函數(shù)也要定義在前 , 調用在后 。 形參與實參之間的關系與一般的函數(shù)相同 。 對于用戶指定的內聯(lián)函數(shù) , 編譯器是否作為內聯(lián)函數(shù)來處理由編譯器自行決定 。 說明內聯(lián)函數(shù)時 , 只是請求而不是命令編譯器要這樣去做 。 一般是那些規(guī)模較小又被頻繁調用的簡單函數(shù) , 才適合聲明為 inline函數(shù) 。 使用內聯(lián)函數(shù)時應注意: ? 重載( overload) : ? 相同名字的函數(shù)執(zhí)行兩種以上操作,稱為重載 ? 如:輸出兩個數(shù)中的大者 ? void max(int,int){…// 代碼一 } ? void max(float,float){…// 代碼二 } ? void max(double,double){…// 代碼三 } ? 在 C中,不允許函數(shù)名相同,而 C++中,可以使用相同的函數(shù)名,以便于程序員記憶函數(shù)名,但執(zhí)行的操作卻不同 例 函數(shù)的重載 所以函數(shù)的重載是指 完成不同功能的函數(shù)可以 具有相同的函數(shù)名 。 C++的編譯器是根據(jù) 函數(shù)的實參 來確定應該調用哪一個函數(shù)的。 int fun(int a, int b) { r
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1