c語言外部函式宣告與否問題,C語言函式宣告是要在主函式內部還是外部啊?

2022-02-14 19:05:50 字數 2674 閱讀 9465

1樓:樓秀花蕢巳

絕對是會的,每一個函式都有入口,作業系統(os)需要計算地址並且定址,然後每個子函式都有一個返回值,執行完os仍然有計算和定址,然後返回main,不過這種時間花費很小,並不比一次inta=

b+c的運算多多少,因此不會犧牲很多時間,另外,這種微小時間的付出換來的確實程式的模組化和有序化,顯然是非常值得。

2樓:匿名使用者

1、把函式的外部不宣告部分去掉(如你說的註釋掉)2、兩個函式分為兩個磁碟檔案存放

3、分別在系統檔案管理器中開啟這兩個檔案(都用vc編輯環境開啟)4、在vc的ide的「視窗」選單中分別檢視兩個磁碟檔案是否已經開啟5、兩個檔案單獨編譯

6、開啟main.c檔案所在的視窗,點選「組建」中的《全部重建》

7、再用快捷鍵執行即可。

3樓:

當不提供函式原型,而呼叫處嘗不知道返回值型別,此時編譯器黙認返回值為整型,而實際返回型別並不是整型,結果沒有做正確的資料型別轉換,取到的就是錯誤的資料

你可以在return sum;前列印這個結果,看看計算時是否正確,

同時在迴圈體中列印出來各個元素值,看看傳引數是否正確,如果這兩處都還正確則說明只是返回值未正確型別轉換。

4樓:

去掉 那一句 能編譯 過去嗎?

會提示 一個 函式 沒有 解決(字面翻譯)

c語言函式宣告是要在主函式內部還是外部啊?

5樓:匿名使用者

內部和外部都可以的哦~~~~~~ 你的程式在c99的c-free上沒有問題。。。

可能你的c語言版本有問題的說,因為大部分人都用的是vc 6.0~~~~~~

6樓:匿名使用者

宣告是函式體內部,在外部一般都是定義,只有用extern是表宣告

7樓:金色潛鳥

函式宣告定義 放在 主函式以外,與主函式地位 並列,不能放在主函式以內。

函式定義 放在 主函式 以後,那麼在 主函式以前,或 在主函式宣告部分(語句以前)要新增函式原型宣告。

函式宣告定義,若放在主函式以前, 主函式中 則 不需要 函式原型宣告。

程式結構:

int main()

int max(int x,int y) // 函式宣告定義,在主函式以後

。。。 // 其他 函式宣告定義

8樓:幻想之世

可以再內部宣告,要放在定義的變數之前,這樣就行了#include

int main()

int max(int x,int y)

int min(int j,int k)

int sum(int q,int w)

int process(int u,int t,int (*p)(int,int))

c語言中在函式外部宣告的變數是什麼變數

9樓:風若遠去何人留

在函式外部宣告的為全域性變數.

帶static的是靜態全域性變數, 作用域為當前檔案.

不帶static的是全域性變數, 作用域為整個程式.

所有全域性變數的生命週期都是整個程式執行

10樓:

如果只加了型別,那就是全域性變數了,如果加了static那就是隻有本檔案能用的

11樓:

樓上正解。。。。。。。。。

12樓:好難改

全域性變數

。。。。。。。。。。。。。。。。

c語言關於外部變數宣告與定義

13樓:匿名使用者

不要在共同include的標頭檔案裡定義。

把變數定義在其中一個c檔案又或者只有它才用的標頭檔案裡。例如int share;

然後在其他要用的c檔案中使用

extern int share;

來宣告。

14樓:匿名使用者

採用就近原則,在內部的用內部的,全域性的全域性使用

15樓:匿名使用者

extern 外部函式生命

c語言中關於extern 宣告外部函式的問題 20

16樓:

在cxx中聲名一下就可以了!或者寫個標頭檔案,任何寫在.c中的函式,cxx

17樓:匿名使用者

同時在一個工程裡開啟就可以了

18樓:風雲

建議寫成標頭檔案的形式,就不會有問題了

19樓:匿名使用者

外部函式??? extern只宣告變數的吧。外部函式只需要包含它所在的標頭檔案就可以

例如 有 file1,file2,file3 ,3個檔案在file1中宣告瞭一個函式 func( int a,int b);

那麼在file2,file3如果需要使用file1中的func函式時,需要在file2,file3檔案的開始位置,寫入#include"file1"才可以正確使用

20樓:

你把其他三個檔案用include包含進來就不會有問題了

c語言外部函式的呼叫怎麼不行幫我看看程式

1 for e1 e2 e3 2 for e1 e2 e3 s deletestring 函式裡的for 寫成這個形式了for e1 e2,e3 分號錯寫成逗號了,成了只寫了兩個表示式的 for語句了。由於少寫了個 分號 編譯器認為,這裡應該寫分號,不應該寫括號 所以編譯通不過,出錯了。另外這個函式...

C語言 函式宣告前extern的用法?

1 別的就是指 這一個 以外的 c盤定義,d盤呼叫,原則上可以,但是麻煩,寫程式應該越簡單越好,不提倡這樣做 別的 原則上沒有限定幾層,但是最好放在同一個資料夾,原因也說了,分開放麻煩。2 作用相同,不完全等價。區別在哪呢?include h int f 把 h 裡的所有東西都搬過來 除了f 之外可...

c語言函式問題

void swap2 int c0,int c1 這個函式對嗎?我怎麼沒看到 來的陣列 第一種方法是用陣列作為實參傳入函式,實際上這是將陣列的地址傳入函式,通過地址,函式可以直接修改資料的值,而不用返回值之類的東西。第二種是將資料值傳入函式,這種引數時區域性變數,無論它在函式中的值怎樣變化,都不會影...