“函數聲明”的作用則是把函數的名字、函數類型以及形參類型、個數和順序通知編譯系統,以便在調用該函數時系統按此進行對照檢查(例如函數名是否正確,實參與形參的類型和個數是否一致)。
int myfun(int x, int y);
2、函數定義
“函數定義”是指對函數功能的確立,包括指定函數名,函數值類型、形參類型、函數體等,它是一個完整的、獨立的函數單位。
// 函數定義
int myfun(int x, int y)
{
return x*y;
}
- 文件位置上:一般地,函數的聲明放在.h頭文件中;函數的定義放在.c源文件中。
- 書寫形式上:函數聲明可以把函數頭部複製過來,在後面加一個分號,而且在參數表中可以只寫各個參數的類型名,而不必寫參數名;函數定義是一個完整的函數單元,包含函數類型、函數名、形參及形參類型、函數體等,且函數頭部與大括號之間不加分號。
- 是否開闢內存:聲明是不開闢內存的,僅僅告訴編譯器,要聲明的部分存在,要預留一點空間;函數定義則需要開闢內存。
閱讀更多 算法集市 的文章