c语言能不能在一个文件中写一个函数,然后再另一个文件中调用? C语言一个文件中两个函数同时调用另一文件同一函数,但数据类型...
C\u8bed\u8a00 \u5982\u4f55\u5728\u4e00\u4e2a\u6587\u4ef6\u4e2d\u8c03\u7528\u53e6\u4e00\u4e2a\u6587\u4ef6\u7684\u51fd\u6570 \u7528\u5934\u6587\u4ef6file1.c \u5934\u6587\u4ef6\u4e3afile1.h
file2.c \u5934\u6587\u4ef6\u4e3afile2.h
\u6bd4\u5982file2.c\u8981\u8c03\u7528file1.c\u91cc\u7684\u4e00\u4e2a\u51fd\u6570
\u9996\u5148file2.c\u91cc\u8981\u5305\u542bfile1.h\u5934\u6587\u4ef6(file1.h\u91cc\u6709file1.c\u7684\u51fd\u6570\u7533\u660e)
\u7136\u540efile2.c\u6587\u4ef6\u91cc\u8981\u6709file1.c\u91cc\u7684\u5916\u90e8\u51fd\u6570\u7533\u660e\uff0c\u7528extern\u5173\u952e\u5b57\u7533\u660e
\u7136\u540e\u5c31\u53ef\u4ee5\u76f4\u63a5file2.c\u91cc\u9762\u8c03\u7528file1.c\u91cc\u7684\u51fd\u6570\u4e86
\u6211\u5728\u5355\u7247\u673a\u91cc\u662f\u8fd9\u6837\u5f04\u7684\u5b8c\u5168\u6ca1\u95ee\u9898\uff0c51,avr,pic\u90fd\u53ef\u4ee5
\u7eafC\u7684\u89d2\u5ea6\u6765\u8bf4\uff0c\u4e00\u4e2a\u51fd\u6570\u5904\u7406\u7684\u7c7b\u578b\u5e94\u8be5\u53ea\u80fd\u662f\u552f\u4e00\u7684\u3002\u6700\u597d\u7684\u529e\u6cd5\u5c31\u662f\u5c4f\u853d\u8fd9\u4e2a\u8fc7\u7a0b\u3002\u6bd4\u5982\u8bbe\u8ba1\u4e00\u4e2a\u51fd\u6570\u628a\u4e0d\u7b26\u5408\u8fd9\u4e2a\u7c7b\u578b\u7684\u7ed3\u6784\u53d8\u91cf\u8f6c\u5316\u6210\u53ef\u4ee5\u5904\u7406\u7684\u7c7b\u578b\uff0c\u7136\u540e\u4f20\u9012\u8fdb\u51fd\u6570\uff0c\u7b49\u8fd4\u56de\u7684\u65f6\u5019\u518d\u4f7f\u7528\u4e00\u4e2a\u51fd\u6570\u628a\u7c7b\u578b\u53d8\u56de\u6765\u3002
当然可以啦。举个例子吧:两个文件 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()
{
// do something
}
这样一来,我们想要在另外一个文件,也就是main.c 中调用这个函数的时候,只需要包含它对应的头文件,就可以直接调用了。
// 以下是main.c 的内容
#include "stdio.h"
#include "function.h"
int main()
{
func();
return 0;
}
应该可以的吧,
#include<1.c>
#include<1.h>
就可以咯,记得零基础学算法里面就是这样的,把函数单个放在不同的文件里,看起来很舒服的
额,看了书,LX说的果然没错,应该用""加上,这样就是在当前目录查找
而<>则是在那啥根目录里查找的
可以的,通过头文件的包含方式,或者直接包含的方式即可调用,即#include<xxx.h>或者#include<xxx.c>
完全可以.你#include "1.h"就OK了.
记的在a.c里用extern引用这个函数就OK
可以的,用
#include "1.h"
注意要用双引号,不能用尖括号
绛旓細鑳姐傚洜涓哄叏灞鍙橀噺榛樿鏄痚xtern鐨勶紝鍑芥暟涔熸槸銆傚鏋滀綘鍐欎簡static淇グ瀹冨氨涓嶈浜
绛旓細//缁欎釜渚嬪瓙鍚э細include <stdio.h> void main(){ char* str1="abcdefghijk";char* str2="IJK";FILE *pf=fopen("test.txt","w+");fwrite(str1, 11, 1, pf);//瀛樺偍abcdefghijk fseek(pf, 8, 0);//鎶鏂囦欢鎸囬拡绉诲姩鍒扮鏂囦欢寮澶8瀛楄妭澶勶紙ijk锛塮write(str2, 3, 1, pf);//涓娆″啓鍏...
绛旓細fp=fopen("path","wb");} 浠ヤ笂灏卞疄鐜颁簡浣犺鐨勮姹傦紝鍏朵腑鏈変竴鍙printf(path,"c:\\%s.c",name);鏄舰鎴愯矾寰勭殑锛屼笉涓瀹氭槸c:,鎶奵:\\淇敼鎴愪綘闇瑕佺殑璺緞锛屼綘鐢熸垚鏂囦欢鎬诲緱鏈夎矾寰勫惂锛屾垜鍦╳indows涓嬪緱闇瑕侊紝鍙嶆浠ュ墠涔熷紕杩囧氨閮藉啓涓婁簡锛屼互鍓嶅彲鏄紕浜嗗ソ闀挎椂闂存寜鍟婏紒锛佽繕鏈変粈涔堜笉鏄庣櫧鐨勫彲浠ヤ氦娴佷笅锛
绛旓細char *Input1=buf[0],*Input2=buf[1],*save=buf[2];printf("璇疯緭鍏ュ瘑鐮:\n");scanf("%s",Input1);fp=fopen("code.txt","w"); //浠ヨ鍐欐柟寮忔墦寮code.txt鏂囦欢锛屽鏋滄病鏈夋枃浠跺氨寤虹珛杩欎釜鏂囦欢 fputs(Input1,fp); //灏唖ave閲岃竟鐨勫瓧绗︾獪锛堝嵆瀵嗙爜锛夊啓鍏ode.txt鏂囦欢涓 printf("璇峰啀杈撳叆...
绛旓細鍙湅浜嗗墠涓よ锛屽氨闂澶氬鍟娿俰nclude <stdio.h> include <iostream> 鍓嶉潰閭d釜鏄C璇█鐨勬爣鍑咺O鎿嶄綔搴 鍚庨潰閭d釜鏄疌++鐨勬爣鍑咺O娴佺殑鎿嶄綔搴撱備袱涓兘鍖呭惈浜嗭紝杩愯涔熻娌¢棶棰橈紝浣嗘槸涓嶈鑼冨晩銆傘傘備綘鍒板簳瑕丆璇█杩樻槸C++
绛旓細涓涓猚绋嬪簭鍙湁涓涓猰ain鍑芥暟鐨勶紝浣犲啓浜嗗啀澶氱殑鍑芥暟锛屾渶鍚庡嚱鏁扮殑鍏ュ彛鍙湁涓涓猰ain鍑芥暟锛屾病鏈塵ain鍏朵粬鐨勫嚱鏁板氨鏃犳硶鎵ц銆傚氨濂藉儚浣犲閲岀殑鎴垮瓙锛屽氨绠椾笁灞傛ゼ鍥涘眰妤硷紝閲岄潰鏈夊崄鏉ラ棿鎴垮瓙锛屽鏋滈犳埧瀛愮殑鏃跺欐病鏈夊紑澶ч棬锛屼篃灏辨病娉曡繘鍏ラ噷闈㈢殑鎴块棿
绛旓細{ printf("鏂囦欢abc2.txt鎵撳紑閿欒锛岄鍑篭n"); exit(1); } while((ch=fgetc(pf1))!=EOF)//杩欐牱浼氬湪绗涓涓瀛楃鍓嶅氨鍔犵┖鏍硷紝//濡傛灉涓嶆兂杩欐牱锛屽彲浠ュ厛杈撳嚭绗竴涓瓧绗﹀悗鍐嶅紑濮嬫坊鍔 { if( ch != ' ' )//濡傛灉璇诲埌鐨勬枃浠禷bc涓殑瀛楃鏄┖鏍硷紝灏变笉鍐嶈緭鍑烘坊鍔犵┖鏍硷紝鍚﹀垯灏辨坊鍔 { fputc(...
绛旓細鍙互鍝︼紝鎴戣瘯浜嗕竴涓嬶紝鍙互鍦main锛堬級鍑芥暟涓0鏄庡嚱鏁帮紝鍦╩ain鍑芥暟澶栧畾涔夈備絾鏄笉鑳藉皢涓涓鍑芥暟澹版槑鍜屽畾涔夐兘鏀惧湪鏌愪釜鍑芥暟涓紝杩欐牱浼氬嚭閿欙紝杩樻湁灏辨槸鍦ㄥ嚱鏁颁腑澹版槑鍙︿竴涓嚱鏁版椂锛岃娉ㄦ剰蹇呴』鍦ㄨ璋冪敤涔嬪墠澹版槑銆
绛旓細include <stdio.h>int main(){ //涓嬮潰鏄啓鏁版嵁锛屽皢鏁板瓧0~9鍐欏叆鍒癲ata.txt鏂囦欢涓 FILE *fpWrite=fopen("data.txt","w");if(fpWrite==NULL){return 0;} for(int i=0;i<10;i++)fprintf(fpWrite,"%d ",i);fclose(fpWrite);//涓嬮潰鏄鏁版嵁锛屽皢璇诲埌鐨勬暟鎹瓨鍒版暟缁刟[10]涓紝骞朵笖鎵撳嵃...
绛旓細璁捐鍐欏叆鐨勬暟瀛楁槸int鍨嬶紝鍒欑敤鎺у埗瀛楃涓%d鍜%s鏉ュ畬鎴愶紝涓句緥浠g爜琛屽涓嬶細fprintf(fp,"%d %s\n",12345,"abcdefg");鍏朵腑锛歠p鏄垚鍔熷啓鎵撳紑鏂囦欢鐨勬寚閽堛傛浠g爜琛屽厛鍚戞枃浠跺啓鍏ユ暣鍨嬫暟瀛12345锛屽啀鍔涓涓绌烘牸锛屾帴鐫鍐欏叆瀛楃涓瞐bcdefg锛岀劧鍚庡啓鍏'\n'銆俰nclude "stdio.h"#include "string.h"void main(){...