已知:將函式定義放在乙個func.c檔案中。
func1(){}
func2(){}
func3(){}
方法1:main.c中直接包含func.c//該方法不好,因為無法在另一.c檔案中再#include "func.c",會導致函式二次定義。
#include "func.c"
這種方法表明.c檔案也是可以使用#include 包含的,但我們一般不這麼用。
方法2:將函式的宣告放在同一func.h中//可用
func1();
func2();
func3();
在main.c中包含標頭檔案即可:
#include "func.h"
方法3:在main.c中新增函式宣告://可用
main.c中:
extern func1();//extern 字首也可以不寫,寫的目的是指明在該函式在別的.c檔案中。
extern func1();
extern func3();
注意一種特殊情況:
int num =100;//c檔案裡定義了乙個全域性變數
void myfunc()
extern void myfunc();
void main()
如上,我們在fun.c檔案中定義了函式myfunc, 和乙個全域性變數num;(區域性變數我們很好理解,因為跟著函式走的)
我們想在main.c中的main函式中呼叫myfunc,此時我們只需要在檔案中宣告extern void myfunc();即可。
而不需要再去管fun.c中的全域性變數num。(不需要再宣告全域性變數了)
c語言中的函式呼叫
今天是我第一天寫部落格,最近一直在看c語言的書。函式呼叫是乙個非常重要的知識點,相當於各個模組的 介面 當然c語言裡沒有介面的說法。c語言中實參和形參要麼是基本的資料型別或者是結構體型別,當然也可以指標 位址 由於在c語言規定陣列名就是乙個位址,因此也可以把陣列規定到指標的行列。另外,不要天真的以為...
C語言中呼叫Lua
c語言和lua天生有兩大隔閡 一 c語言是靜態資料型別,lua是動態資料型別 二 c語言需要程式設計師管理記憶體,lua自動管理記憶體 為了跨越世俗走到一起,肯定需要解決方案。解決第一點看上去比較容易,c語言中有union。可是第二點呢?萬一c語言正引用著lua的乙個值,lua自動釋放了怎麼辦?所以...
C語言中函式宣告與呼叫問題
假如函式在呼叫它之前定義可以不用宣告 實際上,如果在函式呼叫前,沒有對函式作宣告,則編譯系統會吧第一次遇到的該函式的形式 函式定義或者函式呼叫 作為函式的宣告,並將函式預設值型別認為int型www.cppcns.com 比如有您調gsecpxij用的是void max int a,int b www...