c語言能不能在檔案中寫函式,然後再另檔案中呼叫

2021-04-03 13:30:49 字數 3704 閱讀 9872

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樓:匿名使用者

可以的,用

#include "1.h"

注意要用雙引號,不能用尖括號

3樓:匿名使用者

應該可以的吧,

#include<1.c>

#include<1.h>

就可以咯,記得零基礎學演算法裡面就是這

樣的,把函式單個放在不同內的檔案裡,看容

起來很舒服的

額,看了書,lx說的果然沒錯,應該用""加上,這樣就是在當前目錄查詢而<>則是在那啥根目錄裡查詢的

4樓:靠那麼近幹嘛

可以的,通過標頭檔案的包含方式,或者直接包含的方式即可呼叫,即#include或者#include

5樓:匿名使用者

完全可以.你#include "1.h"就ok了.

記的在a.c裡用extern引用這個函式就ok

c語言 如何在一個檔案中呼叫另一個檔案的函式 用標頭檔案

6樓:匿名使用者

test.h

#include

int func(int x);

func.c

int func(int x)

main.c

#include "test.h"

void main()

把以上三個檔案

du放到一個工程中,zhi編譯,就可以看到dao結果了。

c語言能不能在一個檔案中寫一個函式,然後再另一個檔案中呼叫?

7樓:匿名使用者

當然可以啦。

舉個例子吧:兩個檔案 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()

8樓:龍菲善雁

可以,把檔案寫在一個工程裡面,

一個主函式,呼叫,

一個檔案寫函式,函式宣告

寫到一個標頭檔案,

然後把,標頭檔案

放在主函式上面

就可以呼叫,

c語言:可以在一個函式中定義另一個函式為什麼不對?謝謝

9樓:海天盛筵

main函式不是必須定義的,可以嘗試放在其他函式前面,放在其他函式的上面,下面,都可以。

當編譯器編譯時,它逐行編譯。但它首先找到主函式,當主函式被編譯時,它意味著程式被編譯。如果主函式位於其他函式之前,則在主函式中呼叫的子函式(自定義函式)將在主函式之前宣告其存在。

void fun(int n,int m);

在大多數程式語言中,必須宣告(或在使用之前定義)變數、函式(過程)、結構、類、物件等。如果在使用其函式之前沒有宣告或定義編譯,則編譯失敗。它還報告錯誤:

未定義的變數或函式,等等。

擴充套件資料:

main函式,又稱主函式,是程式執行的起點。c程式最大的特點就是所有的程式都是用函式來裝配的。main()稱之為主函式,是所有程式執行的入口。

其餘函式分為有參或無參兩種,均由main()函式或其它一般函式呼叫,若呼叫的是有參函式,則引數在呼叫時傳遞。

int main(void)//整數型別 主函式(無型別)

f1(int a,int b)//f1(整數型別 a,整數型別 b)

f2(int m,int n)//f2(整數型別 m,整數型別 n){

10樓:匿名使用者

呵呵,這個問題簡單的回答是c語言規定了不能這樣。c語言是計算機的一門語言,也有其特定的語法,就像英語那樣,不合語法規定的我們就認為是錯誤的或不地道的或有歧義的。但計算機只有正確(1)與錯誤(0),沒得選了。

至於為什麼當初制定語法時這樣規定了(好像是先有實踐,後有理論的哦,呵呵),我認為可以從下面的幾點看:

1。從c/c++編譯器編譯方式來看。編譯器編譯的方式是逐條往下編譯的。

要是一個函式中又定義一個函式,則編譯器很容易搞混,分不清到底那一句是函式1的那一句是函式2的,就很有可能上面一句是函式1的,下一句就直接跳到函式2的,跳來跳去的,也只有人能認清,計算機沒有像人那樣的跳躍思維。所以,語法就這樣規定了,這樣就可以避免很多的混亂和錯誤。

2.從審美的角度來看。其實不用我多說,你一看到一個函式裡又定義另一個函式時,你就覺得很亂了。尤其是當**寫得很長很長是,更弱爆了!

3.從使用,管理方便角度看。這樣規定了,可以使程式設計模組化,就是不用等前面的寫完,後面的才能寫。它可以同時進行n個模組(模組可以簡單的認為是一個或多個的函式),方便且提高效率啊。

11樓:金色潛鳥

c語言程式結構是:

標頭檔案和巨集

全域性量宣告

主函式main

函式1函式2。。。。

函式nc語言程式,必須有一個主函式,可以有1個或多個其它函式,所有的函式塊是平行的,並列的。

不允許 在一個函式中定義另一個函式。

語法規則如此。這只是一種規定和約定。並不是說其它的計算機語言,或將來發明的計算機語言也必須如此。

12樓:志傑魯

c語言語法不支援這樣做。函式之間是平等的關係,不能互相包含,只能互相呼叫

13樓:匿名使用者

不可以這樣。c++ 不支援這種形式。

14樓:讓娜閉湛英

說不能的都沒試過。c語言支援函式內定義函式。

int func()

g();

return 0;

}沒有問題。

能不能在mac上編寫win中可以執行的c程式

當然是可以的。mac系統本質上是一個unix系統,unix系統就是以c語言編寫的。目前mac os x的開發工具為xcode,支援c和標準c 程式的編寫。而mac平臺也有不少支援c語言程式設計的ide,像netbeans和eclipse。不過,mac os x目前預設沒有c語言的編譯器,你需要安裝x...

如何在c標頭檔案中定義函式然後在原始檔中使用

在text。h標頭檔案中進行宣告 include using namespace std void display int,int 使用該函式來實現輸出 在texxt。cpp中進行定義,注意第一行,很重要因為不是c 標準庫中的標頭檔案,所以不能用 而要用 括起標頭檔案 include text.h ...

擴寫能不能在文章末尾加上自己的感受

他臉上一片bai平靜,看不出喜怒,du但如果細細觀察的zhi話,則可以dao 發現,那雙回 看似平靜的眼眸答 中,不時變幻著,似回憶 羨慕 迷茫 還有淡淡的孤獨。只是靜靜地站那兒,看著遠處草地上嬉戲的孩童,許久。其中一個約七八歲大的小女孩,似是發現了他的注視,回過了頭,忽閃著寶石般閃亮的大眼睛,衝著...