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語言函式指標定義,C語言函式指標定義
韌勁 函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也佔用儲存空間,都有相應的地址。可以使用指標變數指向陣列的首地址,也可以使用指標變數指向函式 的首地址,指向函式 首地址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由...
c語言 函式定義概念問題,C語言 函式定義概念問題
及時澍雨 先舉個例子 include int max int,int 這是函式max的申明,最後要加分號 int main int max int n,int m 這是函式max的定義部分,最後不加分號 不能在函式體內定義函式是什麼意思?就是說函式在程式中不能巢狀定義,這個和pascal語言不同,例...
C語言函式的特點及其定義 c語言定義函式是什麼
c語言中一個函式 function 是一個可以從程式其它地方呼叫執行的語句塊。1 通過使用函式 functions 我們可以把我們的程式以更模組化的形式組織起來,從而利用c語言所支援的結構化程式設計。2 從數學角度,函式即集合a和集合b之間的對映關係。實際上計算機中的函式概念也是源於此,因此,一般函...