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

正文內(nèi)容

函數(shù)是c程序的基本模塊可將一些功能相對(duì)獨(dú)立的或經(jīng)常(編輯修改稿)

2025-06-17 07:55 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 計(jì)函數(shù)完成兩數(shù)交換 , 用主函數(shù)進(jìn)行測(cè)試 , 看結(jié)果如何 。 include void swap(int,int)。 void main(){ int a,b。 //a,b作用域?yàn)?main() cout輸入兩整數(shù): endl。 cinab。 cout調(diào)用前:實(shí)參 a=a39。,39。 b=bendl。 swap(a,b)。 //傳值 cout調(diào)用后:實(shí)參 a=a39。,39。b=bendl。 } void swap(int a,int b){ //a,b作用域?yàn)?swap() cout調(diào)用中 …endl。 cout交換前:形參 a=“ a39。,39。b=bendl。 int t。 t=a。 a=b。 b=t。 //交換 swap()中的 a,b的值 cout交換后:形參 a=a39。,39。b=bendl。 } 局部變量具有局部作用域使得程序在不同塊中可以使用同名變量。這些同名變量各自在自己的作用域中可見(jiàn),在其它地方不可見(jiàn) 。 1. 塊作用域 由 VC++平臺(tái)運(yùn)行,結(jié)果如下: 輸入兩整數(shù): 3 5 調(diào)用前:實(shí)參 a=3,b=5 調(diào)用中 … 交換前:形參 a=3,b=5 交換后:形參 a=5,b=3 調(diào)用后:實(shí)參 a=3,b=5 交換失敗 對(duì)于塊中 嵌套 其它塊的情況,如果嵌套塊中有同名局部變量,服從局部?jī)?yōu)先原則,即在內(nèi)層塊中 屏蔽 外層塊中的同名變量,換句話(huà)說(shuō),內(nèi)層塊中局部變量的作用域?yàn)閮?nèi)層塊;外層塊中局部變量的作用域?yàn)橥鈱映グ兞康膬?nèi)層塊部分。 如果塊內(nèi)定義的局部變量與全局變量同名,塊內(nèi)仍然局部變量?jī)?yōu)先,但與塊作用域不同的是,在塊內(nèi)可以通過(guò)域運(yùn)算符“ :: ”訪(fǎng)問(wèn)同名的全局變量。 全局 n= 100 100 200 300 內(nèi) i= 500 內(nèi) j= 600 內(nèi) n=500+600 =1100 1100 500 600 100 200+300=500 500 500 200 300 外部 i=200 外部 j=300 【 例 4. 9】 顯示同名變量可見(jiàn)性 。 int n=100。 include void main(){ int i=200,j=300。 cout n39。\t39。i39。\t39。jendl。 { //內(nèi)部塊 int i=500,j=600,n。 n=i+j。 cout n39。\t39。i39。\t39。j endl。 //輸出局部變量 n cout::nendl。//輸出全局變量 n } n=i+j。 //修改全局變量 cout n39。\t39。i39。\t39。j endl。 } 2 函數(shù)原型作用域 函數(shù)原型不是定義函數(shù) , 在作函數(shù)原型聲明時(shí) , 其中的形參作用域只在原型聲明中 ,即 作用域結(jié)束于右括號(hào) 。 正是由于形參不能被程序的其他地方引用 , 所以通常只要聲明形參個(gè)數(shù)和類(lèi)型 , 形參名可省略 。 3 文件作用域 文件作用域 也稱(chēng)全局作用域 。 定義在所有函數(shù)之外的標(biāo)識(shí)符 , 具有文件作用域 , 作用域?yàn)閺亩x處到整個(gè)源文件結(jié)束 。 文件中定義的全局變量和函數(shù)都具有文件作用域 。 如果某個(gè)文件中說(shuō)明了具有文件作用域的標(biāo)識(shí)符 , 該文件又被另一個(gè)文件包含 , 則該標(biāo)識(shí)符的作用域延伸到新的文件中 。 如 cin和cout是在頭文件 件作用域的標(biāo)識(shí)符 , 它們的作用域也延伸到嵌入 。 存儲(chǔ)類(lèi)型決定了變量的 生命期 , 變量生命期指從獲得空間到空間釋放之間的時(shí)期 。 變量的存儲(chǔ)類(lèi)型 存儲(chǔ)類(lèi)型的說(shuō)明符有四個(gè) :auto, register, static和extern。 前兩者稱(chēng)為自動(dòng)類(lèi)型 , 后兩者分別為靜態(tài)和外部類(lèi)型 。 本節(jié)重點(diǎn)掌握 static和 extern這兩種類(lèi)型的使用和區(qū)別 。 具體說(shuō) , 區(qū)分 局部變量和靜態(tài)局部變量 , 全局變量和靜態(tài)全局變量 。 auto: 前面提到的局部變量都是自動(dòng)類(lèi)型 。 其空間分配于塊始 , 空間釋放于塊終 , 且由系統(tǒng)自動(dòng)進(jìn)行 。 自動(dòng)變量保存在棧中 , 且是在程序運(yùn)行過(guò)程中獲得和釋放空間 , 未初始化時(shí)值為隨機(jī)數(shù) 。 變量的存儲(chǔ)類(lèi)型 register:為提高程序運(yùn)行效率 , 可以將某些變量保存在寄存器中 , 即說(shuō)明為寄存器變量 , 但不提倡使用 。 static: 靜態(tài)變量 。 根據(jù)被修飾變量的位置不同 , 分為局部 ( 內(nèi)部 ) 靜態(tài)變量和全局 ( 外部 ) 靜態(tài)變量 。所有靜態(tài)變量均存放在全局?jǐn)?shù)據(jù)區(qū) , 編譯時(shí)獲得存儲(chǔ)空間 , 未初始化時(shí)自動(dòng)全 0, 且只初始化一次 。 局部靜態(tài)變量的 作用域 為 塊域 , 但 生命期 為 整個(gè)文件 。 即當(dāng)塊結(jié)束時(shí) , 局部靜態(tài)變量空間仍然保持 ,直到整個(gè)程序文件結(jié)束時(shí)該局部靜態(tài)變量空間才釋放 ,生命期結(jié)束 。 局部靜態(tài)變量 【 例 4. 10】 自動(dòng)變量與局部靜態(tài)變量的區(qū)別 。 ( 演示 ) include st(){ static int t=100。 //局部靜態(tài)變量 t++。 return t。 } at(){ int t=100。 //自動(dòng)變量 t++。return t。 } void main(){ int i。 for(i=0。i5。i++) coutat()39。\t39。 coutendl。 for(i=0。i5。i++) coutst()39。\t39。 coutendl。 } 變量的存儲(chǔ)類(lèi)型 i= 0 t= 100 1 2 345101 變量的存儲(chǔ)類(lèi)型 i= 0 t=100 1 2101 345102103104105 include st(){ static int t=100。 //局部靜態(tài)變量 t++。 return t。 } at(){ int t=100。 //自動(dòng)變量 t++。return t。 } void main(){ int i。 for(i=0。i5。i++) coutat()39。\t39。 coutendl。 for(i=0。i5。i++) coutst()39。\t39。 coutendl。 } 全局靜態(tài)變量 全局靜態(tài)變量是指用 static修飾的全局變量 。 有關(guān)內(nèi)容在下節(jié)靜態(tài)存儲(chǔ)類(lèi)型中介紹 。 外部存儲(chǔ)類(lèi)型與靜態(tài)存儲(chǔ)類(lèi)型 1. 外部存儲(chǔ)類(lèi)型 2. 靜態(tài)存儲(chǔ)類(lèi)型 一個(gè) C++程序可以由多個(gè)源程序文件組成,編譯系統(tǒng)將這若干個(gè)文件連接在一起,產(chǎn)生可執(zhí)行程序。外部存儲(chǔ)類(lèi)型和靜態(tài)存儲(chǔ)類(lèi)型確定了變量和函數(shù)在多文件程序中的聯(lián)絡(luò)關(guān)系。 1 外部存儲(chǔ)類(lèi)型 外部存儲(chǔ)類(lèi)型包括外部變量和外部函數(shù) 。 在由多個(gè)源程序文件組成的程序中 , 如果一個(gè)文件要使用另一個(gè)文件中定義的全局變量或函數(shù) , 這些源程序文件之間通過(guò)外部類(lèi)型的變量和函數(shù)進(jìn)行溝通 。 在一個(gè)文件中定義的全局變量和函數(shù)都缺省為外部的,即其作用域可以延伸到程序的其他文件中。但其他文件如果要使用這個(gè)文件中定義的全局變量和函數(shù),必須在使用前用 “ extern”作外部聲明,外部聲明通常放在文件的開(kāi)頭。 變量定義時(shí)編譯器為其分配存儲(chǔ)空間,而變量聲明指明該全局變量已在其他地方說(shuō)明過(guò),編譯系統(tǒng)不再分配存儲(chǔ)空間,直接使用變量定義時(shí)所分配的空間。 函數(shù)聲明缺省為外部的,因此修飾詞 extern通常省略。 1 外部存儲(chǔ)類(lèi)型 【 例 】 外部存儲(chǔ)類(lèi)型的例子。假定程序包含兩個(gè)源程序文件 ,程序結(jié)構(gòu)如下: /* ,由 main()組成 */ include void fun2()。 //外部函數(shù)聲明,等價(jià)于 extern void fun2()。 int n。 //全局變量定義 void main(){ n=1。 fun2()。 // fun2()定義在文件 cout″n=″nendl。 } /* ,由 fun2()組成 */ extern int n。 //外部變量聲明, n定義在文件 中 void fun2() { //fun2()被文件 n=3。 } 運(yùn)行結(jié)果: n=3 2 靜態(tài)存儲(chǔ)類(lèi)型 靜態(tài)存儲(chǔ)類(lèi)型包括靜態(tài)全局變量和靜態(tài)函數(shù)。在定義全局變量或函數(shù)時(shí)加說(shuō)明符 static,就成為靜態(tài)變量或靜態(tài)函數(shù)。靜態(tài)存儲(chǔ)類(lèi)型的作用域與外部存儲(chǔ)類(lèi)型相反,一旦定義為靜態(tài)存儲(chǔ)類(lèi)型,就限制該變量或函數(shù)只能在定義它的文件中使用。靜態(tài)全局變量在編譯時(shí)分配存儲(chǔ)空間,如果定義時(shí)不指定初值,則編譯系統(tǒng)將其初始化為全 0。 一個(gè)全局變量和一個(gè)靜態(tài)全局變量在使用上是不同的,其他文件通過(guò)外部變量聲明可以使用一個(gè)全局變量,但卻無(wú)法使用靜態(tài)全局變量, 靜態(tài)全局變量只能被定義它的文件所獨(dú)享 。函數(shù)與靜態(tài)函數(shù)之間的區(qū)別是相同的。 生命期與可見(jiàn)性 1. 生命期 2. 可見(jiàn)性 1 生命期 ( 1)靜態(tài)生命期 ( 2)局部生命期 ( 3)動(dòng)態(tài)生命期 生命期( Life time)也叫生存期。生命期與存儲(chǔ)區(qū)域相關(guān),存儲(chǔ)區(qū)域分為代碼區(qū)、靜態(tài)數(shù)據(jù)區(qū)、棧區(qū)和堆區(qū),相應(yīng)地,生命期分為 靜態(tài)生命期、局部生命期和動(dòng)態(tài)生命期 。 ( 1) 靜態(tài)生命期 靜態(tài)生命期 指的是標(biāo)識(shí)符從程序開(kāi)始運(yùn)行時(shí)存在 , 即具有存儲(chǔ)空間 , 到程序運(yùn)行結(jié)束時(shí)消亡 ,即釋放存儲(chǔ)空間 。 具有靜態(tài)生命期的標(biāo)識(shí)符存放在靜態(tài)數(shù)據(jù)區(qū) , 屬于靜態(tài)存儲(chǔ)類(lèi)型 , 如全局變量 、靜態(tài)全局變量 、 靜態(tài)局部變量 。 具有靜態(tài)生命期的標(biāo)識(shí)符在未被用戶(hù)初始化的情況下 , 系統(tǒng)會(huì)自動(dòng)將其初始化為全 0。 函數(shù)駐留在代碼區(qū) , 也具有靜態(tài)生命期 。 所有具有文件作用域的標(biāo)識(shí)符都具有靜態(tài)生命期 。 ( 2) 局部生命期 在函數(shù)內(nèi)部或塊中定義的標(biāo)識(shí)符具有局部生命期 , 其生命期開(kāi)始于執(zhí)行到該函數(shù)或塊的標(biāo)識(shí)符聲明處 , 結(jié)束于該函數(shù)或塊的結(jié)束處 。 具有靜態(tài)生命期的標(biāo)識(shí)符存放在棧區(qū) 。 具有局部生命期的標(biāo)識(shí)符如果未被初始化 , 其內(nèi)容是隨機(jī)的 , 不可用 。 具有局部生命期的標(biāo)識(shí)符必定具有局部作用域;但反之不然 , 靜態(tài)局部變量具有局部作用域 , 但卻具有靜態(tài)生命期 。 ( 3) 動(dòng)態(tài)生命期 具有動(dòng)態(tài)生命期的標(biāo)識(shí)符由特定的函數(shù)調(diào)用或運(yùn)算來(lái)創(chuàng)建和釋放 ,如調(diào)用 malloc()或用new運(yùn)算符為變量分配存儲(chǔ)空間時(shí),變量
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1