1樓:匿名使用者
1.把子函式放主函式main函式外並且是之前定義,無需宣告。2.
如果你把子函式放到main函式外,則必須在定義的時候先宣告。3.如果把 子函式放在main函式中就不需要提前宣告瞭。
2樓:匿名使用者
首先,你提的問題就有問題。c是一門程式語言,函式是在源**裡面宣告的。所以你該問在c語言編寫的源**裡,函式宣告的位置有幾種?
再就是:具體的就是c原碼檔案和h標頭檔案裡,都是可以的,這個要根據你的需要來寫。in all, **是為你的思想服務的,只要符合語言規範,能夠順利build complete, link ok, 它在**出現你來定。
在c語言中,函式定義跟函式宣告有什麼區別有什麼不同之出?
3樓:
int fun(int a, int b);
函式定義:
int fun(int a,int b)宣告就象是定義的頭部,比較簡略,函式是用來呼叫的,如果函式定義部寫到呼叫的位置後面,執行到呼叫位置,
4樓:匿名使用者
定義是實現功能的**,本質是需要編譯器編譯成二進位制**的。
函式宣告對函式的描述,用於告訴編譯器本檔案中提到的這個函式應該按照宣告的形式去呼叫。
5樓:
1.函式定義可以定義在標頭檔案中,注意在其之前新增extern。
2.函式定義,也可以定義在程式首部,只要在函式定義前就可以了。
3.void fun(void);//宣告4.void fun(void)//定義
5.有時也會有人選擇,不寫函式宣告,直接再呼叫函式前定義函式。
6樓:鬼扯石室
函式宣告只是向呼叫函式(例如main)函式說:有這個函式在,需要呼叫它
所以只需要給出函式原型即可,譬如:int func(int a);
函式定義則是要將這個函式具體的函式體實現出來,就需要寫出一個完整的函式
譬如:int func(int a)
有時候我們直接將完整函式寫到呼叫函式(例如main)中,就免去了單獨的函式宣告。
如果希望將函式體寫在呼叫函式之外,就需要在呼叫函式中專門做函式宣告瞭。
7樓:扶桑看天
宣告嘛表示有這麼個函式了,定義就是具體實現了,舉個例子:
函式宣告:
int fun(int a, int b);
函式定義:
int fun(int a,int b)宣告就象是定義的頭部,比較簡略,函式是用來呼叫的,如果函式定義部寫到呼叫的位置後面,執行到呼叫位置,後面根本沒執行就找不到了,當然報錯了,就要在前面加宣告,表示有這個函式,反之先寫函式體,後呼叫宣告就用不了,不在同一原始檔,道理也是如此,寫的夠簡單明白的了吧,累死我了
c語言中函式宣告問題
8樓:
第一,如果你沒有看錯就是你的書錯了,只有int和char型別的函式不必宣告
第二,c中可以不宣告函式的條件是3個
1就是上面我說的
2.是被調函式定義在主調函式之前,可不必宣告3函式的外部已宣告過了,個個主調函式中不必宣告對於第二點,很好解釋,因為宣告的目的在於告訴編譯器有這麼個自定義函式,返回型別是什麼,如果被調函式定義在主調函式之前,那麼編譯器自然就知道了這個函式
你把f2和f1換下位置並去掉宣告就明白了
再說一句,寫函式宣告是編寫程式的良好習慣
請注意這是c程式,c官方宣告標準編譯器是turboc 2。0不要把c++的概念強加給c
我不是說vc++6不好,而是說既然是在學c,就要用標準的c編譯器,只有標準c編譯器才能正確的學習c的基礎理論
9樓:程憐少三姍
可能和編譯器有關,我用vc++6.0這段**沒有問題.可以直接編譯執行.
10樓:撒荌言曉曼
這種編碼風格是確實存在的,是在正式標準c89出現前,甚至是k&rc(這裡特指第二版的,第一版的沒看過)正式出現前就有的風格,現在基本是不用這樣的風格了
不過gcc到底是gcc,這種"洪荒時代"的**風格都可以查了一下,the
cprogramming
language
第二版裡有提到過,中文版
第二版.新版p19
11樓:
這同你的編譯器有關。
我用 ms vc++ 編譯器, 用 cl 命令編譯連結, 把你的**去掉long f2(int), 編譯後執行正確無誤。
你可以把
f1(int p)
和f2(int q)
次序對調一下,這時省去原型宣告long f2(int),也許就可以了。
因為f1要用到f2,先宣告f2,後宣告f1. 你的編譯器較笨。書上是對的。
12樓:同進退
用visual c++6.0很好的!
簡述c語言中函式共有哪幾種型別,各有何區別?
13樓:懷念流年青春
如c語言中:
int max(int x,int y)
就是一段比較兩數大小的函式,函式有引數與返回值。c++程式設計中的函式可以分為兩類:帶引數的函式和不帶引數的函式。這兩種引數的宣告、定義也不一樣。
帶有(一個)引數的函式的宣告:
型別名標示符+函式名+(型別標示符+引數)不帶引數的函式的宣告:
void+函式名( )
花括號內為函式體。
帶引數的函式有返回值,不帶引數的沒有返回值。
c++中函式的呼叫:函式必須宣告後才可以被呼叫。呼叫格式為:
函式名(實參)呼叫時函式名後的小括號中的實參必須和宣告函式時的函式括號中的形參個數相同。有返回值的函式可以進行計算,也可以做為右值進行賦值。
c語言中的部分函式:
main(主函式)
max(求最大數的函式)
scanf(輸入函式)
printf(輸出函式)
c語言中,函式型別有幾種?
14樓:
一般包括字元庫函式,數學函式,目錄函式,程序函式,診斷函式,操作函式等。
字元庫函式所在函式庫為ctype.h;數學函式所在函式庫為math.h、stdio.
h、string.h、float.h;目錄函式所在函式庫為dir.
h、dos.h;程序函式所在函式庫為stdlib.h、process.
h。診斷函式所在函式庫為assert.h、math.h;介面子程式所在函式庫為:
dos.h、bios.h;操作函式所在函式庫為string.
h、mem.h;時間日期函式函式庫為time.h、dos.
h。擴充套件資料
c語言為一種程式設計的入門語言。由於c語言的語句中沒有提供直接計算sin或cos函式的語句,會造成編寫程式困難;但是函式庫提供了sin和cos函式,可以拿來直接呼叫。顯示一段文字,我們在c語言中找不到顯示語句,只能使用庫函式printf。
c語言的庫函式並不是c語言本身的一部分,它是由編譯程式根據一般使用者的需要,編制並提供使用者使用的一組程式。c的庫函式極大地方便了使用者,同時也補充了c語言本身的不足。在編寫c語言程式時,使用庫函式,既可以提高程式的執行效率,又可以提高程式設計的質量。
15樓:波語夢憑芹
在c語言中,可以用以下幾種方式呼叫函式:
1.函式表示式:
2.函式語句:
3.函式實參;
函式的巢狀呼叫
16樓:
c語言中的函式有自己特定的型別
函式的型別由返回值,引數型別和引數個數共同決定
intadd(inti,intj) 的型別為int(int ,int)
c語言通過typedef為函式型別重新命名
typedeftype name(parameter list)
例子:typedefint f(int ,int);
typedefvoid p(int);
宣告兩個函式型別 f , p
利用這兩個型別可以宣告函式指標
f *f;
p *p;
17樓:環暢然
函式的型別是指函式的返回值型別,比如int double…預設是int型,如函式沒有返回值,應定義為void型;而函式定義包括函式首部和函式體,函式首部又包括函式型別、函式名、形參、有的還包括儲存方式等,函式體是函式實現的具體功能。函式原型就是函式的首部後加分號,也就是函式的宣告。
18樓:匿名使用者
許多程式設計語言中,可以將一段經常需要使用的**封裝起來,在需要使用時可以直接呼叫,這就是程式中的函式。如c語言中:
int max(int x,int y)
就是一段比較兩數大小的函式,函式有引數與返回值。c++程式設計中的函式可以分為兩類:帶引數的函式和不帶引數的函式。這兩種引數的宣告、定義也不一樣。
帶有(一個)引數的函式的宣告:
型別名標示符+函式名+(型別標示符+引數)不帶引數的函式的宣告:
void+函式名( )
花括號內為函式體。
帶引數的函式有返回值,不帶引數的沒有返回值。
c++中函式的呼叫:函式必須宣告後才可以被呼叫。呼叫格式為:
函式名(實參)呼叫時函式名後的小括號中的實參必須和宣告函式時的函式括號中的形參個數相同。有返回值的函式可以進行計算,也可以做為右值進行賦值。
c語言中的部分函式:
main(主函式)
max(求最大數的函式)
scanf(輸入函式)
printf(輸出函式)
c語言中如何進行函式的宣告,在哪個位置宣告,請用一段具體的**說明
19樓:匿名使用者
c語言中,無論是常量,變數,函式,只有先定義才能使用的。在函式定義時,大腦要往一般的常量,變數定義的方向,切忌先不要想函式的別的。定義好後,把函式的定義先放一邊,不管它。
接著是函式宣告,大家都知道,c語言是有一個主函式main()和0或n個普通函式組成的。由於當**越長,用到的函式就越多,為了減少函式的混淆,所以要有個函式名,就像老師點名一樣,宣告一個函式,就如點一個學生的名字。
總之,函式定義是系統要求的,不定義就錯誤,而函式宣告實際上不定義也行,但為了方便和減少錯誤,人為規定要宣告。
C語言中函式的定義格式是什麼,函式原型宣告的語法格式
函式定義就是規定函式的格式與功能。函式宣告就是在函式呼叫之前進行的一種說明。下面舉例說明兩者的語法格式 include int fun int a,int b 函式的宣告void main 下面的fun函式就是函式的定義 int fun int a,int b 注 如果被調函式 上例中為fun函式 ...
在c語言中,若有以下函式
第一次 fun 2 y 1,x 2y 2 1 y 3 y y 3 第二次 fun fun 2 x fun 2 y 3 因為y是靜態變數,fun 2 是返回值y 靜態區域性變數儲存在全域性資料區,而不是儲存在棧中,每次的值保持到下一次呼叫,直到下次賦新值。y 3 1 y y 4 y 12 結果為12 ...
C語言中的exit函式,C語言中exit 怎麼用?
exit 通常是用在子程式中用來終結程式用的,使用後程式自動結束,跳回作業系統。在c語言中 exit 0 表示正常退出 exit 1 表示異常退出,這個1是返回給作業系統 值是返回作業系統的 0是正常退出,而其他值都是異常退出,所以我們在設計程式時,可以在推出前給一些小的提示資訊,或者在除錯程式的過...