1樓:天雲一號
函式定義就是規定函式的格式與功能。
函式宣告就是在函式呼叫之前進行的一種說明。
下面舉例說明兩者的語法格式:
#include
int fun(int a, int b); // 函式的宣告void main()
// 下面的fun函式就是函式的定義
int fun(int a, int b)注:如果被調函式(上例中為fun函式)寫在呼叫處之前,可以不宣告(本例是現在呼叫處 (c = fun(x+y);)之後)。
2樓:匿名使用者
函式原型:返回型別 函式名(引數型別列表);
比如int max(int*, int);
函式的定義:把函式原型的最後面的分號換成函式體。
比如:int max(int *data, int count)
3樓:小豬的知識庫
函式返回值 函式名(引數);
這就是函式宣告。例:兩個數求和函式的宣告:
int sum(int a,int b);
4樓:匿名使用者
函式返回值 函式名(引數型別 引數名);
如 int a( int b)
或void b(char c)
5樓:匿名使用者
例如int name (引數性質 引數)
c語言中使用者自定義函式的格式是什麼?
6樓:匿名使用者
格式:函式返回型別 函式名(引數列表)
例如:int test(int value)上面示例定義了一個名為test的函式,其返回值為int型,引數為int型,返回值為引數與10之和。
注:函式型別為void時,不可有return語句。
7樓:匿名使用者
返回值型別 函式名(參數列)
8樓:匿名使用者
返回值型別 函式名(參數列){函式體}
9樓:匿名使用者
自定義函式
的方法:vc中,定義函式分為兩步:
i.宣告:在main函式開頭定義變數的位置,回宣告函式:定義上述答函式宣告是:
int add(int a,int b);
注意分號,宣告前部不能有執行語句;
ii.把下面的函式定義部分放在main函式外部int add(int a,int b)
推薦放在main的後花括號後面,注意此處的int add(int a,int b)後面並沒有分號。
vc裡面,返回型別是int的函式可以省略宣告部分
10樓:匿名使用者
定義無參函式的一般格式:
《函式名》()
//自定義函式體
定義有參函式型別的一般格式:
《函式名》(《型別識別符號》 《,《型別識別符號》 arg2,……》)//函式體定義
在c語言中,函式定義跟函式宣告有什麼區別有什麼不同之出?
11樓:
int fun(int a, int b);
函式定義:
int fun(int a,int b)宣告就象是定義的頭部,比較簡略,函式是用來呼叫的,如果函式定義部寫到呼叫的位置後面,執行到呼叫位置,
12樓:匿名使用者
定義是實現功能的**,本質是需要編譯器編譯成二進位制**的。
函式宣告對函式的描述,用於告訴編譯器本檔案中提到的這個函式應該按照宣告的形式去呼叫。
13樓:
1.函式定義可以定義在標頭檔案中,注意在其之前新增extern。
2.函式定義,也可以定義在程式首部,只要在函式定義前就可以了。
3.void fun(void);//宣告4.void fun(void)//定義
5.有時也會有人選擇,不寫函式宣告,直接再呼叫函式前定義函式。
14樓:鬼扯石室
函式宣告只是向呼叫函式(例如main)函式說:有這個函式在,需要呼叫它
所以只需要給出函式原型即可,譬如:int func(int a);
函式定義則是要將這個函式具體的函式體實現出來,就需要寫出一個完整的函式
譬如:int func(int a)
有時候我們直接將完整函式寫到呼叫函式(例如main)中,就免去了單獨的函式宣告。
如果希望將函式體寫在呼叫函式之外,就需要在呼叫函式中專門做函式宣告瞭。
15樓:扶桑看天
宣告嘛表示有這麼個函式了,定義就是具體實現了,舉個例子:
函式宣告:
int fun(int a, int b);
函式定義:
int fun(int a,int b)宣告就象是定義的頭部,比較簡略,函式是用來呼叫的,如果函式定義部寫到呼叫的位置後面,執行到呼叫位置,後面根本沒執行就找不到了,當然報錯了,就要在前面加宣告,表示有這個函式,反之先寫函式體,後呼叫宣告就用不了,不在同一原始檔,道理也是如此,寫的夠簡單明白的了吧,累死我了
c語言中函式實現的.c檔案include函式宣告的,h檔案有什麼作用?
16樓:匿名使用者
標頭檔案是給編譯器用的
編譯器在編譯c檔案的時候,需要對其中的函式呼叫做檢查,以便知道函式引數個數、型別、返回值等是否正確。編譯的順序是按照**書寫從前到後進行的,如果你的函式寫在前面,則編譯到呼叫這個函式的語句的時候,由於已經認識了這個函式,所以也沒問題,但是,有時候我們會把函式的實現寫在呼叫語句的後面,這時候就需要在前面書寫個函式的宣告,告訴編譯器我後邊有個某某型別的函式。。如果把大量的宣告寫在 .
c **裡,c檔案也會比較亂,所以用 .h 檔案來儲存這些宣告,.c 檔案要用這些宣告的時候,只需要 #include 即可,如果是系統函式,用 #include ,如果是自定義標頭檔案,則用 #include "***.
h" 。
你的**中 a.c 沒有必要包含 a.h ,因為並沒有呼叫該函式而是該函式的實現,但 main 函式所在的 main.c 用到了 add ,所以必須包含 a.h
17樓:硬虎虎
c語言在演繹的時候,會首先將include的檔案的內容複製到 #include "...h" 這裡(可以這麼理解)。所以上面的主程式其實就是:
#include
int add(int x, int y);
int add(int x, int y)int main()
引入標頭檔案,就是為了**的複用和簡潔的描述。
.h主要用於函式的宣告,.c主要是實現的程式體和主程式。
18樓:澤澤么兒
是一樣的都是為了直接呼叫 int add(int x, int y);
c語言格式輸入輸出函式,C語言中輸入輸出函式有幾種格式?
一 格式輸出函式printf 1 呼叫形式一般為 printf 格式化控制字串 輸出表列 2 格式化控制字串用於指定輸出格式,它有三種形式 1 格式說明符 規定了相應輸出表列內容的輸出格式,以 打頭,如 d o等 2 轉義字元 用來輸出轉義字元所代表的控制 或者特殊字元,比如常用的 n t 3 普通...
c語言中的標準函式有哪些,C語言中的標準函式有哪些
c語言輸入輸出函式有很多,標準i o函式中包含了如下幾個常用的函式 scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.int getc file fp getc主要是從檔案...
關於c語言指標呼叫函式,關於C語言中指向函式的指標的呼叫問題
第一條紅線是定義乙個函式指標 第二條紅線起強轉作用,把0xd010f0強轉為對應的函式指標型別 我寫的這個程式可以幫你理解.常量位址被printab取代 劃紅線的是宣告了乙個函式指標,這個函式的兩個引數和返回值都是int,然後將0xd 的位址強制轉換為函式啊 同下面類似 typedef int fu...