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

正文內(nèi)容

c語言程序設(shè)計函數(shù)調(diào)用(留存版)

2025-02-26 17:30上一頁面

下一頁面
  

【正文】 } 。形參也是局部變量。 ? … ? if( x0) ? { ? int b=40。由于同一文件中的所有函數(shù)都能引用全局變量的值,因此,如果在一個函數(shù)中改變了全局變量的值,就能影響到其他函數(shù),相當于各個函數(shù)間有直接的傳遞通道。 /* 外部變量說明 */ ? printf( ″max=%d \n″ , max( a, b)) 。 ? } ? 運行結(jié)果 : ? max=10 形參 a、 b作用范圍 局部變量 a作用范圍 全局變量 b作用范圍 ? 第一行定義了外部變量 a、 b,并使之初始化。 ? 局部變量存放在動態(tài)存儲區(qū)中,在函數(shù)調(diào)用開始時分配動態(tài)存儲空間,函數(shù)結(jié)束時釋放這些空間。 ? 局部變量的存儲方式 ? ? 函數(shù)中的局部變量,如不為 static存儲類別都是動態(tài)分配存儲空間的,存儲在動態(tài)存儲區(qū)中,分配和釋放存儲空間的工作由編譯系統(tǒng)自動處理,因此這類局部變量稱為自動變量。未賦初值的變量, C編譯程序?qū)⑵渲脼?0。這種外部靜態(tài)變量主要用于同一程序分別由多人編寫完成時的情況,避免不同編程者定義出相同名字的全局變量。 ? ? 當在一個文件中要引用另一個文件中的全局變量或在全局變量之前要引用它時,可用 extern說明。 ? { ? int i, y=1。 ? ? 定義時被說明成 extern類別的函數(shù)為外部函數(shù)。y=t。因此在 main函數(shù)的前面用 extern float add()來說明,這時,函數(shù) add的作用域擴展到 。依此類推,直到排序完成為止。 ? printf( ″a=%f \nb=%f\ntotal=%f\n″ , a, b, add ? ( a, b)) 。 ? } ? (文件 2) ? static void swap( x, y) ? int x, y。 ? ( 1)從作用范圍角度分 :有局部變量和全局變量。 ? printf( ″%dˇ%d=%d \n″ , a, m, d) 。 ? ( 3)不同系統(tǒng)對 register的處理不同。在上例中,前一種情況 x是自動變量, f1()函數(shù)每次被調(diào)用時, x 都初始 ? 化,因此,輸出結(jié)果始終是 1。其作用于全局變量時,該變量稱為外部靜態(tài)變量。 ? 具體包括 4種 :自動( auto) 。 ? 數(shù)據(jù)分別存放在靜態(tài)存儲區(qū)和動態(tài)存儲區(qū)中。 ? c=ab?a:b。 ? { ? int z。 … ? } ? main() ? { ? int m, n。其原因是每個 a、 b作為局部變量僅在被定義的函數(shù)內(nèi)是可知的。這些變量分別稱為局部變量、形式參數(shù)變量、全局變量。in。i10。 ? … ? return( 2*z) 。 ? 函數(shù)調(diào)用語句的執(zhí)行過程 :首先計算每個實參表達式的值,并把此值存入所對應(yīng)的形參單元中,然后把執(zhí)行流程轉(zhuǎn)入函數(shù)體中,執(zhí)行函數(shù)體中的語句,函數(shù)體執(zhí)行完之后,將返回到調(diào)用此函數(shù)的程序中的下一條語句,繼續(xù)去執(zhí)行。只有在發(fā)生函數(shù)調(diào)用時函數(shù) max 中的形參才被分配內(nèi)存單元。 ? ( 3)從用戶使用的角度看,函數(shù)分兩種 : ? ① 標準函數(shù),即庫函數(shù)。 /* 函數(shù)體中的說明部分 */ ? z=xy?x:y。在內(nèi)存中,實參單元與形參單元是不同的單元。 ? ( 2)如果被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,可以不進行說明,因為編譯系統(tǒng)已經(jīng)先知道了已定義的函數(shù)類型,會自動處理。i++) ? sum=sum+a[ i] 。若要求形參數(shù)組得到實參數(shù)組全部的元素值,則應(yīng)當指定形參數(shù)組與實參數(shù)組大小一致。 ? ( 4)數(shù)組名做函數(shù)參數(shù)時 ,把實參數(shù)組的起始地址傳遞給形參數(shù)組 ,這樣兩個數(shù)組就共占同一段內(nèi)存單元。 ? 例如 : ? f1() ? { ? int a, b。 ? 在函數(shù)體外進行的函數(shù)說明也使該函數(shù)具有全局的性質(zhì)。建議不要無限制地使用全局變量。 ? 外部變量的定義與外部變量的說明并不是一回事。 ? 變量的存儲類別 ? 從變量的作用域(即從空間)角度來分,可以分為全局變量和局部變量。 ? ③函數(shù)調(diào)用時的現(xiàn)場保護和返回地址等。 /*定義 b、 c為自動變量 */ ? … ? } ? b、 c是自動變量, c=9,執(zhí)行完 f函數(shù)后自動釋放其所占的存儲單元。 ? } ? 運行結(jié)果 : ? x=1 f1() { int x=0。例如,函數(shù)體中的變量說明 : ? register int a, b。 ? printf( ″a , m=?\n″ ) 。 ? } ? 程序文件 f1中的最后一行為對全局變量 a的定義, main函數(shù)在其作用域之外,所以在 main函數(shù)中對其進行了外部說明,而在文件 f2中的第一行也是對 a進行說明。通常把只能由同一文件使用的內(nèi)部函數(shù)和外部變量放在一個文件中,在它們前面加上 static使之局部化,其他文件不能引用。 ? 格式 extern類型標識符函數(shù)名(形參表) ? C語言規(guī)定,如果在定義函數(shù)時省略 extern,則隱含為外部函數(shù)。 ? for( i=1。i++) 程序設(shè)計舉例 ? printf( ″%d!=%d \n″ , i, fac( i)) 。 ? 例 ? (文件 1) ? extern float add() 。 ? extern void swap() ? scanf( ″%d%d″ , amp。 ? 存儲類別小結(jié) ? 對一個數(shù)據(jù)的定義,需要指定兩種屬性 :數(shù)據(jù)類型和存儲類別,分別用兩個關(guān)鍵字進行定義,如 : ? static int a。a, amp。 ? 在計算機中,從內(nèi)存 “ 存取 ” 數(shù)據(jù)要比直接從寄存器中“ 存取 ” 數(shù)據(jù)慢,所以對一些使用特別頻繁的變量,可通過register將其定義成寄存器變量,使程序直接從寄存器中 “ 存取 ” 數(shù)據(jù),以提高程序的效率。 printf( ″x=%d \n″ , x) 。 ? auto int b, c=9。程序運行過程中,這種分配和釋放是動態(tài)的,如果在一個程序中兩次調(diào)用同一函數(shù),分配給此函數(shù)中局部變量的存儲空間地址可能是不同的。 動態(tài)存儲方式與靜態(tài)存儲方式 ? ? 是指在程序運行期間分配固定的存儲空間的方式。 ? ( 4)如果在同一
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1