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

正文內(nèi)容

c語言課件第8章函數(shù)(參考版)

2024-10-06 16:37本頁面
  

【正文】 /* i,j為外部變量 */ extern int sum() /* 定義外部函數(shù) */ { return i+j。 return 0。 x=sum()。i,amp。 printf(“Enter two numbers: “)。 /* 外部函數(shù)原型 */ int i,j。 量 i和 j,在調(diào)用 sum(),在 ,將 sum()原型說明為extern。 output(…)。 input(…)。 ( 1)文件 main() { extern void input(…)。 使用內(nèi)部函數(shù)的好處是:不同的人編寫不同的函數(shù)時 ,不用擔(dān)心自己定義的函數(shù) , 是否會與其它文件中的函數(shù)同名 , 因?yàn)橥矝]有關(guān)系 。 ( 又稱靜態(tài)函數(shù) ) 如果在一個源文件中定義的函數(shù) , 只能被本文件中的函數(shù)調(diào)用 , 而不能被同一程序其它文件中的函數(shù)調(diào)用 , 這種函數(shù)稱為內(nèi)部函數(shù) 。 ( 1) 函數(shù)的內(nèi)部調(diào)用 , 所謂內(nèi)部調(diào)用是指同一個文件內(nèi)函數(shù)之間的調(diào)用。 外部文件中函數(shù)將直接或間接地被主函數(shù)進(jìn)行調(diào)用。 1. 主文件與外部文件 C語言把由若干個源文件組成的文件中含有主函數(shù)程序單元的文件,稱為程序的 主文件 。 在 cpu中分配 臨時空間。 全 局 量 局 部 量 在函數(shù)外定義 其值永久保留 只限本函數(shù)或 本復(fù)合語句中 使用。 因此 , 關(guān)鍵字 “ static”在不同的地方所起的作用是不同的 。 ? 注意: ( 1) 把局部變量改變?yōu)殪o態(tài)內(nèi)部變量后 , 改變了它的存儲方式 , 即改變了它的生存期 。 靜態(tài)局部變量 , 僅在第 1次調(diào)用它所在的函數(shù)時被初始化 , 當(dāng)再次調(diào)用定義它的函數(shù)時 , 不再初始化 , 而是保留上 1次調(diào)用結(jié)束時的值 。 靜態(tài)外部變量其作用域?yàn)槎x它的 源文件內(nèi) ;生存期為整個源程序 , 但其它源文件中的函數(shù)也是不能使用它的 。 ( 2) 作用域不同 。 非靜態(tài)外部變量定義形式: 據(jù)類型 外部變量表; 允許被其它源文件中函數(shù)引用 , 非靜態(tài)外部變量引用 其它源文件中的函數(shù) , 引用非靜態(tài)外部變量時 ,需要在引用函數(shù)所在的源文件中進(jìn)行說明: extern 數(shù)據(jù)類型 外部變量表; ? 在函數(shù)內(nèi)的 extern變量說明 , 表示引用本源文件中的外部變量 ! ? 在函數(shù)外 ( 通常在文件開頭 ) 的 extern變量說明 , 表示引用其它文件中的外部變量 : ( 1) 定義的位置不同 。 } 運(yùn)行結(jié)果: vto=0,vtic=0 vto=0,vtic=1 vto=0,vtic=2 vto=0,vtic=3 vto=0,vtic=4 ( 2)外部靜態(tài)變量在函數(shù)外定義,外部靜態(tài)變量 只允許被本源文件中的函數(shù)引用。 i5。 } main() { int i。 ++vto。 /*自動變量每次調(diào)用都重新初始化 */ static int vtic=0。 } 例 自動變量與靜態(tài)局部變量的存儲特性 。 i=5。 3!=6 } 4!=24 main( ) 5!=120 { int i。 運(yùn)行結(jié)果 : 1!=1 f=f*n。 定義形式 : static 數(shù)據(jù)類型 內(nèi)部變量表; 靜態(tài)局部變量定義時不初始化,則系統(tǒng)自動賦以 “ 0”(整型和實(shí)型)或 ‘ \0’(字符型);且每次調(diào)用它們所在的函數(shù)時,不再重新賦初值,只保留上次調(diào)用結(jié)束時的值。 6. 靜態(tài)存儲變量 靜態(tài)存儲變量無論是做全程量或是局部變量,其定義和初始化在程序編譯時進(jìn)行,在編譯時分配存儲空間的變量稱為靜態(tài)存儲變量。 例如 ,微機(jī)上的 MSC和 TC 將寄存器變量實(shí)際當(dāng)作自動變量處理 。 定義格式如下: register 數(shù)據(jù)類型 變量表; ① 只有局部變量才能定義成寄存器變量 , 即全局變量不行 。 ④ 在不同函數(shù)或復(fù)合語句中允許使用同名的變量而不會混淆。如果初始化,則賦初值操作是在調(diào)用時進(jìn)行的,且每次調(diào)用都要重新賦一次初值。 定義形式為 : [auto] 數(shù)據(jù)類型 變量表 ; ① 動態(tài)存儲變量可以是函數(shù)的形式參數(shù)、局部變量、函數(shù)調(diào)用時的現(xiàn)場保護(hù)和返回地址。在函數(shù)調(diào)用時分配臨時的空間,離開函數(shù),其空間便被系統(tǒng)收回,其值隨之消失。在編譯時分配空間,直到整個程序執(zhí)行完畢才釋放。 自動變量和寄存器變量屬于動態(tài)存儲方式,外部變量和靜態(tài)內(nèi)部變量屬于靜態(tài)存儲方式。類型規(guī)定了變量和函數(shù)的取值范圍和運(yùn)算范圍;則決定了變量在內(nèi)存中的存儲區(qū)域和生成期,即存在時間。 int vs( int xl, int xw ) { extern int xh; /*外部變量 xh的說明 */ int v; v=xl*xw*xh; /*使用外部變量 xh的值 */ return v; } main() { extern int xw , xh; /*外部變量的說明 */ int xl=5; /*內(nèi)部變量的定義 */ printf(xl=%d,xw=%d,xh=%d\n ,xl,xw,xh)。 count++) Putchar(?*?)。 for (count=1。 func2() Printr(“count is %d”, count)。 } func1( ) { int temp。 /* count是全局變量 */ main () { count =100。 例 8. 15全局變量的使用舉例。 ② 全局變量在整個程序執(zhí)行期間均占有存儲空間。 在內(nèi)部變量的作用域內(nèi),外部變量將被屏蔽而不起作用。 ( 4) 與局部變量不同,全局變量貫穿整個程序,并且可被任何一個模塊使用,它們在整個程序執(zhí)行期間保持有效。 外部變量說明的一般形式為: extern 數(shù)據(jù)類型 外部變量 1 [,外部變量 2 …… ]。 外部變量可被作用域內(nèi)的所有函數(shù)直接引用。 } 復(fù)合語句中定義的變量b、 c,其作用域只在復(fù)合語句范圍內(nèi) 主函數(shù)中與 復(fù)合語句中分別定義的同名變量 b、 c, 它們代表不同的對象,分配不同的單元,互不干擾 3. 全局變量 ( 1) 在函數(shù)外部定義的變量稱為外部變量,外部變量又稱全局變量。 printf(“%d,%d,%d\n”, a, b, c)。 c=2?b。 c+=b。 輸出結(jié)果 : 10, 4, 8 10, 2, 5 例 include “” main( ) { int a=1, b=2, c=3。 ( 5) 允許在不同的函數(shù)中使用相同的變量名,它們代表不同的對象,分配不同的單元,互不干擾,也不會發(fā)生混淆。因?yàn)橹骱瘮?shù)也是一個函數(shù),與其它函數(shù)是平行關(guān)系。 …… } a,b,c作用域:僅限于函數(shù)f1()中 x,y,z作用域:僅限于函數(shù)f2()中 m,n作用域:僅限于函數(shù) main()中 a, b, c, x, y, z , m, n 都是內(nèi)部變量 ( 3) 主函數(shù) main()中定義的內(nèi)部變量,是局部變量,也只能在主函數(shù)中使用,其它函數(shù)不能使用。 …… } int f2(int x) { int y,z 。定義局部變量的最常見的代碼塊是函數(shù)。模塊以左花括號開始,以右花括號結(jié)束。 ( 2) 局部變量僅由其被定義的模塊內(nèi)部的語句所訪問(變量值可見)。 2. 內(nèi)部變
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1