下面來回顧一下嵌套循環例子。
Action()
for (j=1;j<=5;j++) //第二重循環,循環5次 |
上面的代碼中我加了注釋,這里就不用再解釋。
運行結果:
Starting iteration 1. |
函數
函數,通常 一小段C語言程序僅有一個main()函數組成。然而,在實際編寫應用程序中,需要開發人員編寫大量的用戶自定交函數,不僅要在程序中定義函數本身,而且在主調函數模塊中還必須對該被調函數進行類型說明,然后才能使用,與用戶自定義函數相對應的是函數庫,C語言集成開發環境(IDE)提供,我們只要調用就是行了。就就所謂前人種樹,后人乘涼,不然看似一個簡單的東西,尋其源頭來做,都是一個相當復雜的過程。
void SsyHello() //打招呼函數
int GetBigger(int x,int y) //得到最大值函數 }
Action(){
SsyHello(); //無形參,無返回值函數
return 0; |
上面的程序加注解了,簡單來說就是前面定義了兩個函數SsyHello() 和 GetBigger(),主函數Action()對前面兩個函數進行調用
運行結果:
Starting iteration 1. Starting action Action. Action.c(4): hello 2011-20120624YO Action.c(23): GetBigger(10,20)=20 Ending action Action. Ending iteration 1. |
動態存儲方式與靜態存儲方式
我們在定義變量是,根據定義的位置不同,分為全局變量與局部變量。我出生在一個叫“舞陽”的小縣城,在這個縣城中也有人名“舞陽”,前一個作用于整個縣城,后一個只作用于他個人。那么從變量值的存在生存期角度,又可分為靜態存儲方式和動態存儲方式兩類。
靜態存儲方式:是指在程序運行期間分配固定的存儲空間方式。
動態存儲方式:是在程序運行期間根據需要進行動態的分配存儲空間的方式。
用戶存儲空間可分三部分:
1、程序區
2、靜態存儲區
3、動態存儲區
全局變量全部存放在靜態存儲區,在程序開始執行時給全局變量分配存儲區,程序運行完畢就釋放,在程序執行過程中它們占據固定的存儲單元,而不動態地進行分配和釋放。
動態存儲區存放以下數據:
(1)函數形式參數
(2)自動變量(未加static聲明的局部變量)
(3)函數調用時的現場保護和返回地址
上面這些數據,在函數開始調用時分配動態空間,函數結果時釋放這些空間。
在C語言中,每個變量和函數有兩個屬性:數據類型和數據的存儲類別
原文轉自:http://www.uml.org.cn/Test/201303151.asp