『壹』 c++中如何在主函數中調用其他文件內的函數
就是再寫個坦困頭文件,對調用文件里的函數進行申明。再將頭頃液文件寫在主函數所在的文件里。如下面所示:
//文件a.c
#include "a.h"
int display(int a,int b){
cout<<a+b<<endl;
return 0;
}
//文件a.h
#include <iostream>
int display(int ,int );
//文件main.c
#include "a.h"
int main(){
int a=2,b=3;
display(a,b);
return 0;
}
簡單寫幾行,使用非本源文件的函數就需要文件包含方式來雀信物包含其他文件,注意好頭文件別重復
『貳』 如何在C++頭文件中定義函數,然後在源文件中使用
/*在text。h頭文件中進行聲明*/
#include<iostream>
using namespace std;
void display(int,int);/*使用該函數來實現輸出*/
/*在texxt。cpp中進行定義,注意第一行,很重要因為不是c++標准庫中的頭文件,所以不能用<>,而要用""括起頭文件*/
#include "text.h"
void display(int x,int y)
{
cout<<"A="<<x<<"B="<<y<<endl;
}
/*在主函數中進行調用函數*/
#include "text.h"
int main()
{
int a,int b;
cout<<"please input a &b"<<endl;
cin>>a>>b;
display(a,b);
return 0;
}
關於上述中一些關鍵詞的注意事項
h叫做頭文件,它是不能被編譯的。「#include」叫做編譯預處理指令,可以簡單理解成,在1.cpp中的#include"1.h"指令把1.h中的代碼在編譯前添加到了1.cpp的頭部。每個.cpp文件會被編譯,生成一個.obj文件,然後所山讓陪有的.obj文件鏈接起來你的可執行程序就算生成了。
你要在.h文件中嚴格區分聲明語句和定義語句,好的習慣是,頭文件中應只處理常量、變數、函數以及類等等等等的聲明,變數的定義和函數的實現等等等等都應該在源文件.cpp中進行。
至於.h和.cpp具有同樣的主文件名的逗蠢情況呢,對編譯器滑手來講是沒有什麼意義的,編譯器不會去匹配二者的主文件名,只認#include等語句。
但是這樣寫是一種約定俗成的編程風格,一個類的名字作為其頭文件和源文件的主文件名比如Class1.h和Class1.cpp,這個類的聲明在Class1.h中,實現在Class1.cpp中,看起來比較整齊,讀起來方便,也很有利於模塊化和源代碼的重用。
『叄』 main函數如何調用其他文檔的函數
假設文檔a.c中包含主函數,b.c中包含自定義函數fun():
int fun(int x) { return x*x; }
為在a.c的main函數中調用fun,可以耐冊讓寫:
intfun(intx);//或直接寫intfun(int);
voidmain(){inty;
y=10;y=fun(y);printf("%d ",y);
}
如果b.c中函數太多,不想在main函昌局數前將b.c中所有函數的頭定義都寫一遍,可以將所有頭聲明寫入b.h:
intfun(int);
然後a.c可寫成:
#include"b.h"//雙引號表示不姿團是標准c提供的頭文件,尋找的路徑與<>是不同的,可自己設置
voidmain(){inty;
y=10;y=fun(y);printf("%d ",y);
}
效果與前邊直接寫是一樣的
『肆』 C語言中如何引用其它C源文件中的函數
在源文件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,就只能在本文件中使用了,不能再被其他的文件調用。
(4)主函數怎樣調用源文件中的函數擴展閱讀:
1、一個.h文件要 對應有一個.c文件,這樣鏈接器就可以調用這個文件里的函數。比如a.h 和 a.c。
2、把相應的函數定義寫在.c文件中。這里要強調一點:要加上#include ".h",這個一般作為一種工程規范。因為如果.c文件中的函數也需要調用同個.c中的其它函數,那麼這個.c往往會include對應的.h。比如頭文件里進行了變數的聲明,這個時候對應的.c文件是一定要加上這個頭文件的。
3、再在其他的main.c文件開頭添加#include "a.h"。
『伍』 C語言中 多個源文件之間函數如何調用
首先要建立一個頭文件,以.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);
當然要有個主函數.
#include "inout.h"
int main(void)
{
int n;
inf id;
do{
printf("*********n");
scanf("%d",&n);
}while(n>100);
input(&id,n);
output(&id,n);
return(0);
}
然後 這個頭文件有兩個函數.這兩個函數,以.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)
{
....
}
主函數來負責調用,別的源文件.但是,要有一定要有個頭文件.
就相當說, 站長(主函數)要控制各個列車(多個源文件).需要通過調度台(頭文件)
這是我的理解,我也是剛學.希望大家指正
編譯的時候,要分別編譯,先要把非主函數的源文件便宜成obj格式.
我的編譯器是:cl /c 源文件名.c (cygwin中是 gcc -c 源文件名.c)
最後和主函數結合.
cl main.c 源文件.obj
cygwin中是 gcc -o main main.c 源文件.o
不知道 我說的夠不夠明白