題目明顯提示你沒(méi)有定義“add”呀,要求你查看“add”哦!再個(gè)你程序還是有問(wèn)題的吧,如果你把它放到不同的源文件中一起編譯連接的話,還會(huì)出現(xiàn)重復(fù)定義的錯(cuò)誤吧。改正如下:
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供藤縣網(wǎng)站建設(shè)、藤縣做網(wǎng)站、藤縣網(wǎng)站設(shè)計(jì)、藤縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、藤縣企業(yè)網(wǎng)站模板建站服務(wù),十載藤縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
#includestdio.h
#includemalloc.h
struct add *wwe();
struct add
{
int xuehao;
};
main()
{
struct add *p1;
p1=wwe();
}
//被調(diào)函數(shù)332.c
#include stdio.h
#includemalloc.h
struct add *wwe() //此處你是定義一個(gè)名為wwe的函數(shù),沒(méi)有參數(shù),返回值類型是:struct add*
{
struct add *p1;
p1=(struct add *)malloc(sizeof(struct add)); /*此處“extern”可以不要吧,一般他是用來(lái)聲明用的,*/
return p1; //此處要返回一個(gè)值,沒(méi)有值是不可以的
}
C語(yǔ)言可以在程序中調(diào)用其他文件中的函數(shù)。
在大型的程序軟件開(kāi)發(fā)中,為了代碼的可讀性,或多人同時(shí)進(jìn)行代碼開(kāi)發(fā),可以各寫(xiě)自己的源文件,然后,在編譯時(shí),將多個(gè)源文件鏈接到一起,就可以形成最終的目標(biāo)程序。
各程序中的函數(shù)可以是共用的,參考代碼如下:
//a.c
#include stdio.h
int funa( int n )
{
printf("n=%d\n", n );
return n*2 ;
}
//main.c
#include stdio.h
extern int funa(int); //聲明funa為外部函數(shù)
void main()
{
int x=5,y;
y=funa(x);
printf("y=%d\n", y );
}
在linux下,編譯方法為:gcc main.c a.c -o test
在windows下,可建立一個(gè)工程,將兩個(gè)文件添加到該工程中,編譯,運(yùn)行即可
首先要建立一個(gè)頭文件,以.h保存
這樣
#include stdio.h
typedef struct {
char name[100][60];
char number[100][8];
int mon[100],day[100];
char sex[100];
double height[100];
}inf;
int input(inf *x ,int i);
int output(inf *y ,int h);
當(dāng)然要有個(gè)主函數(shù).
#include "inout.h"
int main(void)
{
int n;
inf id;
do{
printf("*********n");
scanf("%d",n);
}while(n100);
input(id,n);
output(id,n);
return(0);
}
然后 這個(gè)頭文件有兩個(gè)函數(shù).這兩個(gè)函數(shù),以.c的格式保存.
#include stdio.h
#include "inout.h"
int input(inf *x,int i)
{
........
}
#include stdio.h
#include "inout.h"
int output(inf *y ,int h)
{
....
}
主函數(shù)來(lái)負(fù)責(zé)調(diào)用,別的源文件.但是,要有一定要有個(gè)頭文件.
就相當(dāng)說(shuō), 站長(zhǎng)(主函數(shù))要控制各個(gè)列車(多個(gè)源文件).需要通過(guò)調(diào)度臺(tái)(頭文件)
這是我的理解,我也是剛學(xué).希望大家指正
編譯的時(shí)候,要分別編譯,先要把非主函數(shù)的源文件便宜成obj格式.
我的編譯器是:cl /c 源文件名.c (cygwin中是 gcc -c 源文件名.c)
最后和主函數(shù)結(jié)合.
cl main.c 源文件.obj
cygwin中是 gcc -o main main.c 源文件.o
不知道 我說(shuō)的夠不夠明白
分享題目:c語(yǔ)言調(diào)用多個(gè)文件的函數(shù) C語(yǔ)言多文件操作
URL鏈接:http://chinadenli.net/article0/hpepio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、企業(yè)建站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)