函數聲明和函數定義的區別


函數聲明和函數定義的區別

“函數聲明”的作用則是把函數的名字、函數類型以及形參類型、個數和順序通知編譯系統,以便在調用該函數時系統按此進行對照檢查(例如函數名是否正確,實參與形參的類型和個數是否一致)。

int myfun(int x, int y);

2、函數定義

“函數定義”是指對函數功能的確立,包括指定函數名,函數值類型、形參類型、函數體等,它是一個完整的、獨立的函數單位。

// 函數定義

int myfun(int x, int y)

{

return x*y;

}

  • 文件位置上:一般地,函數的聲明放在.h頭文件中;函數的定義放在.c源文件中。
  • 書寫形式上:函數聲明可以把函數頭部複製過來,在後面加一個分號,而且在參數表中可以只寫各個參數的類型名,而不必寫參數名;函數定義是一個完整的函數單元,包含函數類型、函數名、形參及形參類型、函數體等,且函數頭部與大括號之間不加分號。
  • 是否開闢內存:聲明是不開闢內存的,僅僅告訴編譯器,要聲明的部分存在,要預留一點空間;函數定義則需要開闢內存。
函數聲明和函數定義的區別


分享到:


相關文章: