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

正文內(nèi)容

[工學(xué)]第五講函數(shù)(編輯修改稿)

2025-11-09 16:19 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ,a[i])。 } 運(yùn)行結(jié)果: 5 4 3 2 1 例 復(fù)合語(yǔ)句中變量 define N 5 main() { int i。 int a[N]={1,2,3,4,5}。 for(i=0。iN/2。i++) { int temp。 temp=a[i]。 a[i]=a[Ni1]。 a[Ni1]=temp。 } for(i=0。iN。i++) printf(%d ,a[i])。 } 例 不同函數(shù)中同名變量 main() { int a,b。 a=3。 b=4。 printf(main:a= d,b=%d\n,a,b)。 sub()。 printf(main:a= d,b=%d\n,a,b)。 } sub(){ int a,b。 a=6。 b=7。 printf(sub:a=%d,b=%d\n,a,b)。 } 運(yùn)行結(jié)果: main:a=3,b=4 sub:a=6,b=7 main:a=3,b=4 —— 局部變量與全局變量 ? 外部變量 –定義:在 函數(shù)外定義 ,可為 本文件其他函數(shù)共用 ,函數(shù)之間可通過(guò)外部變量傳遞數(shù)據(jù)。 –具有永久的存儲(chǔ)空間;由編譯器進(jìn)行初始化。外部變量如果沒(méi)有明確的初值,則初值為 0; –有效范圍:從 定義變量的位置開(kāi)始 到本源文件結(jié)束, 及有 extern說(shuō)明的其它源文件 全局變量 外部變量 外部變量說(shuō)明: extern 數(shù)據(jù)類(lèi)型 變量表; —— 局部變量與全局變量 int p=1,q=5。 float f1(int a) { int b,c。 ……. } int f3() {….. } char c1,c2。 char f2(int x,int y) { int i,j。 …… } main() { int m,n。 ……. } c1,c2的作用范圍 p,q的作用范圍 extern char c1,c2。 extern char c1,c2。 c1,c2 的作用范圍 擴(kuò)展后 c1,c2 的作用范圍* 擴(kuò)展后 例子解析 外部變量 – 定義:在 函數(shù)外定義 ,可為 本文件其他函數(shù)共用 – 有效范圍:從 定義變量的位置開(kāi)始 到本源文件結(jié)束, 及有 extern說(shuō)明的其它源文件 多個(gè)文件中的外部變量說(shuō)明 方法:在一個(gè)文件中定義外部變量,在另一個(gè)文件中用 extern 對(duì)它進(jìn)行申明 int A。 main() { … } extern int A。 main() { … } extern int A。 main() { … } 外部變量定義 外部變量定義 外部變量聲名 * /**/ int a=3,b=5。 max(int a, int b) { int c。 c=ab?a:b。 return(c)。 } main() { int a=8。 printf(max=%d,max(a,b))。 } 運(yùn)行結(jié)果: max=8 * 若外部變量與局部變量同名,則外部變量被屏蔽 應(yīng)盡量少使用全局變量,因?yàn)椋? ?全局變量在程序全部執(zhí)行過(guò)程中占用存儲(chǔ)單元 ?過(guò)多全局變量會(huì)導(dǎo)致各函數(shù)間出現(xiàn)相互干擾 ? 變量存儲(chǔ)類(lèi)型有四種: ◆ 自動(dòng)變量( auto) ◆ 靜態(tài)變量( static) ◆ 外部變量( extern) ◆ 寄存器變量( register) auto、 static、 extern和 register為存儲(chǔ)類(lèi)型說(shuō)明符。 ? 變量說(shuō)明的一般形式: 存儲(chǔ)類(lèi)型說(shuō)明符 類(lèi)型說(shuō)明符 變量名稱; auto int n。 static char m。 register int n。 變量的存儲(chǔ)類(lèi)別 ?自動(dòng)變量( auto) : 普通的局部變量 int x, y。 ?? auto int x, y。 char c1。 ?? auto char c1。 ?函數(shù)調(diào)用時(shí),定義變量,分配存儲(chǔ)單元 。 ?函數(shù)調(diào)用結(jié)束,收回存儲(chǔ)單元 。 寄存器變量 ? 說(shuō)明 ——寄存器說(shuō)明符只能用于說(shuō)明函數(shù)中的內(nèi)部變量,寄存器變量存儲(chǔ)在 CPU的通用寄存器中。 ? 寄存器變量是使用中央處理器 (CPU)的通用寄存器。 ? 計(jì)算機(jī)從寄存器中存取數(shù)據(jù)的速度要遠(yuǎn)遠(yuǎn)快于從內(nèi)存中存取數(shù)據(jù), 所以當(dāng)變量使用非常頻繁時(shí),將變量定義為寄存器變量可以提高程序運(yùn)行速度。 ? 寄存器是與機(jī)器硬件密切相關(guān)的,不同的計(jì)算機(jī),寄存器的數(shù)目不一樣,通常為 2到 3個(gè)。 ? 靜態(tài)變量的說(shuō)明是在變量說(shuō)明前加 static, 具有永久的存儲(chǔ)空間;由編譯器進(jìn)行初始化 。 如果沒(méi)有明確的初值 , 則初值為 0 。 ? 靜態(tài)變量有兩種:外部靜態(tài)變量 , 內(nèi)部靜態(tài)變量 。 ? 外部靜態(tài)變量?jī)H僅在定義它的一個(gè)文件中有效 。 ? 內(nèi)部靜態(tài)變量作用于定義它的當(dāng)前函數(shù) 。 雖然在函數(shù)調(diào)用后依舊存在 , 但其他函數(shù)不能引用它;由于它具有永久的存儲(chǔ)空間 , 所以可以保持值的連續(xù)性 static int A。 main() { … } extern int A。 main() { … } extern int A。 main() { … } 變量的存儲(chǔ)類(lèi)別:靜態(tài)變量 ? 存儲(chǔ)方式 – 靜態(tài)存儲(chǔ) :程序運(yùn)行期間分配固定存儲(chǔ)空間 – 動(dòng)態(tài)存儲(chǔ) :程序運(yùn)行期間根據(jù)需要?jiǎng)討B(tài)分配存儲(chǔ)空間 ? 內(nèi)存用戶區(qū) 程序區(qū) 靜態(tài)存儲(chǔ)區(qū) 動(dòng)態(tài)存儲(chǔ)區(qū) 全局變量、靜態(tài)變量 (static) 自動(dòng)變量( auto) 生存期 靜態(tài)存儲(chǔ) :從程序開(kāi)始執(zhí)行到程序結(jié)束 動(dòng)態(tài)存儲(chǔ) :從包含該變量定義的函數(shù)開(kāi)始至函數(shù)執(zhí)行結(jié)束 變量的存儲(chǔ)類(lèi)別:動(dòng)態(tài)變量與靜態(tài)變量 include main ( ) { void inc1( ), inc2( )。 inc1( )。 inc1( )。 inc1( )。 inc2( )。 inc2( )。 inc2( )。 } void inc1( ) { int x = 0。 /* 說(shuō)明自動(dòng)變量 x并賦初值 */ x++。 printf (in inc1 x=%d\n, x)。 } void inc2( ) { static int x。 /* 說(shuō)明內(nèi)部靜態(tài)變量 */ x++。 printf (in inc2 x=%d\n, x)。 } 靜態(tài)變量 ?內(nèi)部靜態(tài)變量 1)在編譯的時(shí)候賦初值,只賦一次,在程序運(yùn)行時(shí)已經(jīng)有初值; 2)如果定義變量時(shí)不給初值,則系統(tǒng)自動(dòng)給一個(gè)初值: 0(數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1