新聞中心
c語(yǔ)言在頭文件中如何引用另一個(gè)頭文件中的函數(shù)
file1.c
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了準(zhǔn)格爾免費(fèi)建站歡迎大家使用!
頭文件為file1.h
file2.c
頭文件為file2.h
比如file2.c要調(diào)用file1.c里的一個(gè)函數(shù)
首先f(wàn)ile2.c里要包含file1.h頭文件(file1.h里有file1.c的函數(shù)申明)
然后file2.c文件里要有file1.c里的外部函數(shù)申明,用extern關(guān)鍵字申明
然后就可以直接file2.c里面調(diào)用file1.c里的函數(shù)了
我在單片機(jī)里是這樣弄的完全沒問題,51,avr,pic都可以
C語(yǔ)言如何使用外部文件中的函數(shù)
1.
請(qǐng)使用預(yù)編譯指令
#include。加入外部文件,就可以使用外部文件的函數(shù)了。
#include放在代碼文件頭,用于告訴編譯器,文件中包含的頭文件,屬于預(yù)處理文件的一部分
。
語(yǔ)法為:
#include
iostream.h
(這句是程序編譯時(shí)搜索系統(tǒng)目錄文件)
#include
“HName.h"
(這句是程序編譯時(shí)搜索當(dāng)前項(xiàng)目的文件)
2.
例如:
//函數(shù)實(shí)現(xiàn) a.c文件:
int add(int x, int y){
return x+y;
}
//主文件 main.c文件:
#include stdio.h
#include "a.c" //引入外部函數(shù)
int main(){
int i;
i = add(1,2);
printf("%d",i);
return 0;
}
C語(yǔ)言中怎么調(diào)用外部函數(shù)?
1、外部函數(shù)extern時(shí)聲明這個(gè)函數(shù)為外部函數(shù),本文件不做定義,只調(diào)用,編譯不會(huì)出錯(cuò),但不能運(yùn)行(沒有函數(shù)實(shí)體)。如果想有運(yùn)行結(jié)果就必須將函數(shù)實(shí)體包含進(jìn)來,所以文件包含和extern是配合使用的。文件包含只需要包含.h就是實(shí)體的頭文件,但有些軟件貌似不能識(shí)別頭文件和c的關(guān)系,所以就只能包含.c文件。
2、也就是說外部函數(shù)extern只是個(gè)聲明,他告訴編譯器我用到了一個(gè)外部函數(shù),但如果該文件沒有將函數(shù)實(shí)體包含進(jìn)來,編譯器是找不到的,依然是不能運(yùn)行的,所以extern只是個(gè)聲明,并沒有做任何事,只是這樣是沒用的。include是包含一個(gè)文件,就是類似于該文件復(fù)制到此處(只是說類似,其實(shí)是個(gè)查找路徑,讓編譯器去該路徑查找函數(shù))。
C語(yǔ)言中怎樣調(diào)用函數(shù)(舉個(gè)例子)
C語(yǔ)言中調(diào)用函數(shù)的方法及步驟:
工具/原料:C語(yǔ)言
1、首先需要輸入想要調(diào)用的函數(shù)。
2、然后當(dāng)輸入一個(gè)括號(hào)后,即可觀察他的參數(shù)。
3、接著在對(duì)應(yīng)的參數(shù)中輸入?yún)?shù)值。
4、然后,系統(tǒng)會(huì)發(fā)生一個(gè)警告。
5、接著需要調(diào)用它相應(yīng)的頭文件。
6、最后再次編譯,發(fā)現(xiàn)沒有任何警告和錯(cuò)誤即可。
C語(yǔ)言中能否在一個(gè)自定義函數(shù)中調(diào)用另一個(gè)自定義函數(shù)?
可以調(diào)用。
C語(yǔ)言最基本的模塊為函數(shù),任意函數(shù)都可以調(diào)用其它任意一個(gè)函數(shù),包括函數(shù)本身。
1、自定義函數(shù)調(diào)用其它自定義函數(shù)的例子:
#include stdio.h
void fun1(int a)//自定義函數(shù)fun1。
{
printf("%d\n",a);
}
void fun2(int m, int n)//自定義函數(shù)fun2。
{
fun1(m);
fun1(n);//調(diào)用兩次另一個(gè)自定義函數(shù)。
}
int main()
{
fun2(2,3);//調(diào)用fun2.
}
在這個(gè)例子中,就是主函數(shù)調(diào)用自定義函數(shù)fun2,然后fun2調(diào)用另一個(gè)自定義函數(shù)fun1.
2、不僅可以調(diào)用其它自定義函數(shù),還可以調(diào)用自己本身。
這種稱為遞歸。
以下是通過遞歸,計(jì)算1+2+3+...+n值的代碼:
#include stdio.h
int fun(int n)
{
if(n == 1) return 1;
return n+fun(n-1);//遞歸調(diào)用,返回和值。
}
int main()
{
printf("%d\n", fun(100));//計(jì)算1到100的和值。
return 0;
}
c語(yǔ)言如何調(diào)用另外一個(gè)函數(shù)?
首先先定義一個(gè)函數(shù)
然后在主函數(shù)中調(diào)用
如
定義一個(gè)函數(shù)比較大小 int max (intx , inty)
在主函數(shù)中調(diào)用c=max(a,b)
其中x,y是形參,a,b是實(shí)參
當(dāng)前標(biāo)題:c語(yǔ)言引入其他函數(shù),c語(yǔ)言在一個(gè)函數(shù)中引用另一個(gè)函數(shù)
分享鏈接:http://www.dlmjj.cn/article/dsgcjis.html