這樣一個(gè)文件里的代碼不會(huì)太多,有更好的可閱讀性
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的石臺(tái)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
并且,功能相同的函數(shù)放在一起,也更易于管理 。
在主函數(shù)中定義全局變量,例如
int gVal;
在其它文件中需要用到這個(gè)變量時(shí),用下面的語句聲明
extern int gVal;
這個(gè),在理論上是沒有任何區(qū)別的。因?yàn)椴还苣闶菍懺谝粋€(gè)文件里面還是分文件寫,只要有 #include,就相當(dāng)于把包含的文件內(nèi)容拷貝過來了。
如果非要要說他們的區(qū)別的話,只是在編譯的時(shí)候,存在兩點(diǎn)區(qū)別:
1.如果直接放在主函數(shù)上面,那么這個(gè)函數(shù)是不需要聲明的(不建議)。如果放在其他文件或主函數(shù)下面,是需要聲明的,不然編譯的時(shí)候,編譯器不知道你調(diào)用的函數(shù)的結(jié)構(gòu),會(huì)報(bào)錯(cuò)。
2.編譯過程中,如果有兩個(gè).c文件,那么就會(huì)對(duì)應(yīng)生成兩個(gè).o文件,最后在連接生成最終的應(yīng)用程序,但是在運(yùn)行結(jié)果和內(nèi)存使用上是沒有任何差異的。這一點(diǎn)手動(dòng)寫過Makefile的朋友都應(yīng)該比較清楚,當(dāng)然這一步一般編譯器會(huì)幫你完成,但這個(gè)過程你應(yīng)該要知道。
如果沒有添加#include "txtReader.cpp"
你再輸入編譯命令時(shí)要同時(shí)編譯兩個(gè)文件,不能只編譯一個(gè),
比如gcc main.cpp txtReader.cpp
你只編譯一個(gè)文件當(dāng)然就會(huì)出這個(gè)錯(cuò)
一般要建一個(gè)project
C語言源程序可以放在不同的文件中,
--這種例子俯拾皆是,網(wǎng)上隨便找個(gè)工程吧!
同一個(gè)源程序中的函數(shù)也可放在不同的文件中,
--基于過程的編程為了加強(qiáng)代碼可讀性和可維護(hù)性,需要分類和組織
所以一個(gè)C語言程序可以實(shí)現(xiàn)多種算法。
--這是個(gè)狗屁結(jié)論,和前面的條件沒有必然關(guān)系