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

時間 2021-08-30 10:37:16

1樓:

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

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

2樓:雲澹楓卿

函式宣告格式如:

int max(int );

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

3樓:炸屍男

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

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

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

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

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

4樓:紅領巾飄過

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

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

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

5樓:匿名使用者

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

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

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

6樓:匿名使用者

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

c語言 函式定義 函式宣告 區別

7樓:

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

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

8樓:誰來解我的問題

給你舉個例子:

void fun_a(void); //函式的宣告....

....

void fun_a(void)//函式的定義

9樓:匿名使用者

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

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

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

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

10樓: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)。

11樓:匿名使用者

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

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

希望對你有幫助!

12樓:明月看盡滄桑

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

13樓:匿名使用者

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

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

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

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

void a()

void b()

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

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

voidb()

void a()

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

14樓:匿名使用者

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

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

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

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

15樓:

int  fun(int a, int b);

函式定義:

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

c語言中函式宣告中的變數可以和函式定義中的變數不一樣嗎?哪乙個是形式引數? 10

16樓:匿名使用者

從記憶體角度來講,函式引數是一定儲存到棧區的,函式體內定義的變數可以儲存到棧區,比如區域性變數,也可以儲存到靜態資料區,比如static變數。示例如下:

#include #include void f(int a, int b) int main()

C語言中函式的定義格式是什麼,函式原型宣告的語法格式

天雲一號 函式定義就是規定函式的格式與功能。函式宣告就是在函式呼叫之前進行的一種說明。下面舉例說明兩者的語法格式 include int fun int a,int b 函式的宣告void main 下面的fun函式就是函式的定義 int fun int a,int b 注 如果被調函式 上例中為f...

c語言中不能在函式裡面宣告函式嗎

迷路的國王 你這個問題看似簡單,其實涉及到了函式的宣告與定義,以及c語言的標準規範和具體編譯器的實現問題。從標準規範來看 c語言允許函式裡宣告函式,但是不建議這麼寫,因為不利於多文件的組織。c語言禁止函式裡定義函式,但是個別編譯器卻沒遵循標準。c語言的標準和編譯器的實現並不是完全統一,為了可移植性,...

c語言中函式指標用法,C語言中函式指標用法

函式在記憶體中有一個物理位置,而這個位置是可以賦給一個指標的。一零點函式的地址就是該函式的入口點。因此,函式指標可被用來呼叫一個函式。函式的地址是用不帶任何括號或引數的函式名來得到的。這很類似於陣列地址的得到方法,即,在只有陣列名而無下標是就得到陣列地址。怎樣說明一個函式指標變數呢 為了說明一個變數...