C語言裡的函式定義和函式說明有什麼聯絡和區別

時間 2021-08-31 21:43:57

1樓:超可愛

函式說明:“說明”的意思,即表明當前的程式檔案中有這個函式。

函式定義:“定義”的意思,即為該函式下定義——這個函式具體有什麼功能(函式體)。

2. 具體請先看**:

#include

int sum(int a, int b);        // 函式宣告

void main()

int sum(int a, int b)        // 函式定義

解釋一下:

由於c語言的編譯,是對c/cpp檔案的內容從上至下編譯。一般子函式(使用者定義的函式)放在主函式(main函式)後面的話,main函式前面就該有宣告,不然編譯系統將無法識別到子函式。

例如上面這個例子,如果將前面的函式宣告註釋掉,這個程式執行到main函式中的sum(num1, num2)時就會報錯,因為沒有在main函式前編譯到sum(a, b)這個函式,所以執行中就會識別不了sum這個函式。(如下圖所示)

3. 當然,通常情況下,我們也可以直接將整個子函式的函式體(函式定義)放在main前面,這樣就可以省略掉函式宣告的部分。

#include

int sum(int a, int b)        // 函式定義

void main()

以上這個程式同樣是可以正確編譯執行的。

2樓:廉玉榮妙珍

函式原型放在函式定義之前,先宣告相應函式的特性。區別很簡單,函式原型結束有分號,而函式的定義結束沒分號。

例如:int

sum(int

a,int

b);函式原型

intsum(int

a,int

b)函式定義

請問c語言中函式定義,函式宣告和函式呼叫的區別?

3樓:

函式宣告指函式原型宣告,只有函式名,函式型別,引數個數和型別,無函式體。一般放在主函式前。逗號結尾。

函式定義,除上述外,去掉結尾逗號,加函式體。可放在main函式後面,也可放在main函式前面。放在main函式前面則不要寫函式原型宣告。

4樓:雲澹楓卿

函式宣告格式如:

int max(int );

函式呼叫是你在某一個函式中去用它

5樓:炸屍男

函式宣告就是宣告有這麼一個函式:

比如 int number; 就是說 有一個整數叫number函式定義就是給一個函式賦值:

比如在宣告過函式number以後,再說 number = 5; 意思就是說把剛才說的那個叫number的整數的值定義為5

函式呼叫就是使用一個函式:

在宣告和定義完number以後 我們再說answer = number * 3; 意思就是answer等於number的3倍 在這個計算過程中我們使用了這個叫number的函式 所以就叫函式呼叫了

6樓:紅領巾飄過

函式宣告是告訴編譯器你有這麼一個函式。

函式定義是具體實現函式功能的**。

函式呼叫是富裕函式一定的引數,使用函式。

7樓:匿名使用者

樓主可以這樣想,c語言中,無論是常量,變數,函式,只有先定義才能使用的。在函式定義時,大腦要往一般的常量,變數定義的方向,切忌先不要想函式的別的。定義好後,把函式的定義先放一邊,不管它。

接著是函式宣告,大家都知道,c語言是有一個主函式main()和0或n個普通函式組成的。由於當**越長,用到的函式就越多,為了減少函式的混淆,所以要有個函式名,就像老師點名一樣,宣告一個函式,就如點一個學生的名字。

總之,函式定義是系統要求的,不定義就錯誤,而函式宣告實際上不定義也行,但為了方便和減少錯誤,人為規定要宣告。

8樓:匿名使用者

函式宣告是告訴編譯器你有這麼一個函式。

c語言中 宣告子函式和沒有宣告子函式有什麼區別

9樓:12345額時代

子函式在宣告後可以先呼叫,後定義;避免編譯器猜資料。操作方法如下:

1、函式的宣告,函式有兩種型別,一種是有返回值的,前面用int float double char 來定義,如int f(int n);前面的int就是返回值型別。

2、 如果函式不需要返回值,那麼就用void來寫在前面,如void f(int n);注意宣告後面加分號。

3、 函式的定義,有返回值的函式一般就是 int f(int) 。注意f()沒有分號。

4、沒有返回值的函式結構為void f(){函式內容,發f(int n)後面也沒有分號。

5、看一下函式的呼叫,有返回值的一般語言定義一個變數如c=f(n)。

10樓:匿名使用者

因為,程式的編譯都是從main函式開始的。所以當要呼叫的子函式在main 函式之前定義時,就不需要再在main函式中宣告子函式了,如果要呼叫的子函式在main函式後面時,就必須在main函式中宣告,否則,編譯將出現錯誤。

如果,怕忘了,在main函式中宣告子函式,建議你養成在main函式前定義子函式的習慣,計算機等級考試裡的子函式,也都是在main函式之前定義的。

希望對你有幫助!

11樓:明月看盡滄桑

子函式在宣告後可以先呼叫,後定義;避免編譯器猜資料。如下:

12樓:匿名使用者

基本上來說是沒有多大的區別的。

區別可能就是在你的呼叫函式在你的被呼叫函式之前出現的。那麼這個時候你要是不宣告被呼叫函式的話,就會報錯的。然後你在前面加上函式的宣告就沒有問題了。

但是如果你的被呼叫函式在你的呼叫函式之前出現呢,即實現,那麼這個時候就是不會有什麼影響的。

比如說:函式a是呼叫函式,函式b是被呼叫函式可以這樣寫

void a()

void b()

如果這樣寫的話,那麼就是不會有什麼問題的。

但是如果像下面這樣寫的話,就會有問題了。

voidb()

void a()

//程式除錯的時候會報錯的。

13樓:匿名使用者

子函式與主函式之間的順序需要發生改變而已.

主函式在前,必須宣告,要不主函式不能呼叫。

主函式在後,就不必宣告。

在c語言中函式定義跟函式宣告有什麼區別?

14樓:

int  fun(int a, int b);

函式定義:

int  fun(int a,int b)宣告就象是定義的頭部,比較簡略,函式是用來呼叫的,如果函式定義部寫到呼叫的位置後面,執行到呼叫位置,

請問C語言中函式定義,函式宣告和函式呼叫的區別

函式宣告指函式原型宣告,只有函式名,函式型別,引數個數和型別,無函式體。一般放在主函式前。逗號結尾。函式定義,除上述外,去掉結尾逗號,加函式體。可放在main函式後面,也可放在main函式前面。放在main函式前面則不要寫函式原型宣告。 雲澹楓卿 函式宣告格式如 int max int 函式呼叫是你...

OCI常用函式的函式說明,OCI常用函式的大致步驟

一 定義並初始化所需各變數 envhp srvhp errhp svchp authp hndlp stmthp 等等 二 連線資料庫 1 ociinitialize。初始化oci程式環境 2 ocienvinit。初始化oci環境控制代碼 3 ocihandlealloc。分配各控制代碼,需要分配...

c語言函式定義中關於返回函式的疑問

node search list node node,int compare void const void const void const desired value 1 node 表示返回值為乙個node 結點指標。2 search list 函式名 3 node node 乙個結點指標 4 ...