1樓:匿名使用者
當然可以啦。
舉個例子吧:兩個檔案 main.c function.c我們在function.c 中寫一個函回數 func();
與此同時,我們需要寫一個.h檔案來宣告這個答函式,即function.h
// 以下是function.h 的內容
#ifndef __function_h__#define __function_h__void func();
#endif
// 以下是function.c 的內容
#include "function.h"
void func()
這樣一來,我們想要在另外一個檔案,也就是main.c 中呼叫這個函式的時候,只需要包含它對應的標頭檔案,就可以直接呼叫了。
// 以下是main.c 的內容
#include "stdio.h"
#include "function.h"
int main()
2樓:龍菲善雁
可以,把檔案寫在一個工程裡面,
一個主函式,呼叫,
一個檔案寫函式,函式宣告
寫到一個標頭檔案,
然後把,標頭檔案
放在主函式上面
就可以呼叫,
c語言能不能在一個檔案中寫一個函式,然後再另一個檔案中呼叫?
3樓:匿名使用者
當然可以抄啦。
舉個例子吧:兩襲
個檔案 main.c function.c我們在function.c 中寫一個函式 func();
與此同時,我們需要寫一個.h檔案來宣告這個函式,即function.h
// 以下是function.h 的內容
#ifndef __function_h__#define __function_h__void func();
#endif
// 以下是function.c 的內容
#include "function.h"
void func()
這樣一來,我們想要在另外一個檔案,也就是main.c 中呼叫這個函式的時候,只需要包含它對應的標頭檔案,就可以直接呼叫了。
// 以下是main.c 的內容
#include "stdio.h"
#include "function.h"
int main()
4樓:匿名使用者
可以的,用
#include "1.h"
注意要用雙引號,不能用尖括號
5樓:匿名使用者
應該可以的吧,
#include<1.c>
#include<1.h>
就可以咯,記得零基礎學演算法裡面就是這
樣的,把函式單個放在不同內的檔案裡,看容
起來很舒服的
額,看了書,lx說的果然沒錯,應該用""加上,這樣就是在當前目錄查詢而<>則是在那啥根目錄裡查詢的
6樓:靠那麼近幹嘛
可以的,通過標頭檔案的包含方式,或者直接包含的方式即可呼叫,即#include或者#include
7樓:匿名使用者
完全可以.你#include "1.h"就ok了.
記的在a.c裡用extern引用這個函式就ok
c語言中,是否可以呼叫其它檔案的函式?
8樓:小夏在深圳
可以的。
在c語言中,函式呼叫的方式有多種,在函式呼叫中還應該注意的一個問題是求值
回順序。答所謂求值順序是指對實參列表中各個引數是自左向右使用,還是自右向左使用。對此,各系統的規定不一定相同。
__cdecl呼叫規則就是c呼叫規則。按從右至左的順序壓引數入棧,由呼叫者把引數彈出棧。切記:對於傳送引數的記憶體棧是由呼叫者來維護的。
返回值在eax中因此,對於象printf這樣變引數的函式必須用這種規則。編譯器在編譯的時候對這種呼叫規則的函式生成修飾名的餓時候,僅在輸出函式名前加上一個下劃線字首,格式為_functionname。
擴充套件資料
示例:在vc6.0和c-free 5.0下執行以下**。
#include
int main()
執行結果:
8 7 6 7
可見vc 6.0是按照從右至左的順序求值。如果按照從左至右求值,結果應為:
9 10 9 8
9樓:凌亂心扉
可以呼叫。
一、從一個原始檔裡呼叫另一個原始檔的函式。在原始檔a1.c中呼叫a2.c 中的函式有兩種方法:
1、在a2.c中有完整的函式定義,在a1.c中新增一下要用到的函式原型(宣告)就可以了,例如:
在a2.c中:有函式void a2();。
在a1.c中:在檔案前頭增加一行:void a2();就可以了。
2、把a2.c中完整定義的函式的原型,寫到一個a2.h檔案中,然後在a1.c的檔案頭增加#include "a2.h"就可以了。
以上兩種方法,在a1.c中都可以正常的呼叫,就跟在a2.c中呼叫一樣。
其實函式預設是外部的,只要在其他檔案中宣告就能使用;但是注意如果在前面加上static,就只能在本檔案中使用了,不能再被其他的檔案呼叫。
二、編寫標頭檔案:
1、一個.h檔案要 對應有一個.c檔案,這樣連結器就可以呼叫這個檔案裡的函式。比如a.h 和 a.c。
在.h檔案中:
#ifndef __a_h_
#define __a_h_
#include
void trans2(double b) ;
double trans1() ;
#endif
2、把相應的函式定義寫在.c檔案中。這裡要強調一點:
要加上#include ".h",這個一般作為一種工程規範。因為如果.
c檔案中的函式也需要呼叫同個.c中的其它函式,那麼這個.
c往往會include對應的.h,這樣就不需要為宣告和呼叫順序而發愁了。比如標頭檔案裡進行了變數的宣告,這個時候對應的.c檔案是一定要加上這個標頭檔案的。
3、再在其他的main.c檔案開頭新增#include "a.h"。
10樓:鄭穆寒
先在當前目錄下建立.c檔案 即你的main函式 如何建立.h檔案 注意不能有main函式。如何在主檔案里加#include "xx.h" 即可
11樓:勵志作大神
建立復一個project,建立第一個檔案c1.c,在其中制寫出函式,再在第二個檔案c2.c裡在要呼叫的c1中的函式前加上extern使函式成為外部函式eg:
extern int funa(int); ,這樣就可以在c2.c裡呼叫c1的那個函式了。
12樓:匿名使用者
c語言可以在程式中呼叫其他檔案中的函式。
在大型的程式軟體開發中,為了代
回碼的可讀性,或答多人同時進行**開發,可以各寫自己的原始檔,然後,在編譯時,將多個原始檔連結到一起,就可以形成最終的目標程式。
各程式中的函式可以是共用的,參考**如下:
//a.c
#include
int funa( int n )
//main.c
#include
extern int funa(int); //宣告funa為外部函式
void main()
在linux下,編譯方法為:gcc main.c a.c -o test
在windows下,可建立一個工程,將兩個檔案新增到該工程中,編譯,執行即可
13樓:匿名使用者
可以 檔案頭宣告一下
14樓:闊海的賬戶
可以的。但在呼叫前必須定義該函式的宣告。可以放在公共的標頭檔案中宣告,然後直接include,也可以直接說明。
這樣編譯能通過,只要能夠連線到函式的實現,也就是另一個檔案的編譯檔案obj,就可以執行了。
15樓:芋頭家的小修修
可以 在開始的地方 #include《檔名.c> 就可以了
c語言 如何在一個檔案中呼叫另一個檔案的函式 用標頭檔案
16樓:匿名使用者
test.h
#include
int func(int x);
func.c
int func(int x)
main.c
#include "test.h"
void main()
把以上三個檔案
du放到一個工程中,zhi編譯,就可以看到dao結果了。
c語言中能否在一個自定義函式中呼叫另一個自定義函式?
17樓:七班趙子龍
當然copy
可以!c語言程式的最基本的模組就是函式,
該程式規定:任意函式都可以呼叫其它任意一個函式,包括函式本身;
1、函式呼叫自己本身, 這種稱為遞迴;
通過遞迴,計算1+2+3+...+n值的**:
2、自定義函式呼叫其它自定義函式的例子:
這個例子就是主函式呼叫自定義函式fun2,然後fun2呼叫另一個自定義函式fun1;
c語言中檔案指標能不能作為引數傳遞
1.指標完全可以作為函式的引數進行傳遞,其實在c中,陣列作為引數傳遞,跟指標作為引數傳遞都很類似的,指標傳的是該指標指向的地址,而陣列引數則是將該陣列的首地址傳遞過去。2.檔案指標 在c語言中用一個指標變數指向一個檔案,這個指標稱為檔案指標。通過檔案指標就可對它所指的檔案進行各種操作。定義說明檔案指...
C6861能不能在廣州南站上車
c6861不能在廣州南站上車,只能在廣州站上車 不停靠南站 不可以,因為c6861廣州南根本不停靠,廣州站地址廣州市越秀區環市西路159號 站序站名到站時間出發時間停留時間 01 廣州 13 31 02 佛山西 13 51 13 53 2分鐘 03 獅山 14 00 14 01 1分鐘 04 獅山北...
用C語言編寫的程式,能不能直接在Linux下執行?
需要gcc命令將源 重新編譯,連線,形成二進位制檔案即可在linux下執行。你的問題問得模稜兩可的。按照我的理解有三個意思,1。在windows或mac系統下寫的可以正常編譯的c源 能不能再linux直接編譯執行。2,在windows或mac系統下編譯好的c程式可以不可以直接拿到linux下執行。3...