- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程式语言Header档的使用介绍.PDF
C 程式語言-Header 檔的使用介紹
(*)
#include: 將檔案資料的內容複製一份並貼在目前的位置取代原先的include 。
Q: #include 檔案名稱.附檔名 ,其中的附檔名有沒有限制?
A: 附檔名並沒有限制,但其內容會完整複製並會取代 #include 宣告的位置。
例如:
#include “MyOwnFile.txt”
#include “MyOwnFile.c”
#include “MyOwnFile.h”
Q: #include 檔案名稱與 #include “檔案名稱” ,兩者有何差別?
A: 寫成檔案名稱 :編譯程式時會到預設的include 目錄中尋找此檔案,一般來
說這一個檔案就是系統提供的h 檔;在通常的情況下,因為我們不見得有存
取該目錄的權限,因此我們自定的header 檔有可能無法放入該目錄中,這時
候就只好放在目前或有權限可以存放的目錄中,其實也方便對自定header 檔
管理。因此,在inlcude 時就要寫成 “檔案名稱” ,這樣系統就會到目前目錄
或其相對路徑去尋找此檔,如果沒找到還會到預設的include 目錄去找,所以
理論上include 系統的header 檔也可以寫成這種形式,但顯然地會浪費一些無
謂搜尋的時間。
例如:
#include “MyOwnFile.h”
#include “./image/ToGray.h” // 到下一層的目錄image 去找ToGray.h 檔
#include “../common/utility.h” // 到上一層的目錄common 去找utility.h 檔
( . 表示目前所在目錄;.. :表示目前所在的上一層目錄)
parent
hereIAm: common:
MyOwnFile.h
utility.h
image:
ToGray.h
(* 圓角矩形表示目錄:矩形表示檔案)
C 程式語言-Header 檔的使用介紹
(*) 外部變數 (external variable)
上述的include 方式是將外部的程式碼加到目前的程式檔案中,使其成為程式
檔的一部份。但是有些時候對於可以共用的程式部份,我們會希望讓它獨立
出來存成一個檔案,只去引用我們需要的部份,而不是整個放進程式中;
這時候就可以採用引用外部參數或函式的方式,來實現這一功能。
1) 有原始碼(source code, 即.c 檔)
將程式檔加入project 中,在要引用它所包含變數或函式的程式檔中進行宣告:
extern 資料型態 變數名稱;
extern 傳回型態 函式名稱( [參數型態, [參數型態]] );
2) 有目的檔(object file (.obj), 以Dev Cpp 的gcc 為例,即 .o 或 .a 檔)
將目的檔加入project 中的步驟說明:
滑鼠右鍵點選專案名稱 專案選項
參數 新增函式庫或Obj 檔
尋找想要引入的檔案
按 確定 完成
接著在要引用它所包含變數或函式的程式檔中進行宣告:
extern 資料型態 變數名稱;
extern 傳回型態 函式名稱( [參數型態, [參數型態]] );
external.c
// external.c
void html9x9TableExt(int row)
{ int r, c;
printf(Table border=1\n);
for (r=row; r=row; ++r)
{
printf(tr\n);
for (c=1; c=9; ++c)
{
printf( th bgcolor=yellow%dx%d=%2d/th, r, c, r*c)
文档评论(0)