函數宣告和定義
函數 宣告 與函數 定義 之間的區別與資料宣告及定義的區別類似。 宣告會建立函數的名稱及性質,但不會為其配置儲存體,而 定義 會指定函數的主體、將 ID 與函數相關聯,並為其配置儲存體。 因此,在此範例中宣告的 ID:
float square(float x);不配置儲存體。函數定義 包含函數宣告及函數主體。 內文是執行函數工作的陳述式區塊。 此範例中所宣告的 ID 會配置儲存體; 它們同時是宣告和定義。
float square(float x)
{ return x*x; }在程式中可以多次宣告函數,但給定函數的所有宣告必須相容; 亦即,傳回類型相同且參數具有相同類型。 不過,一個函數只能有一個定義。 宣告通常會放在標頭檔中,而定義會出現在原始檔中。