我們可以這樣理解:
C 本身所有會做的事,都是由它認識的符號和保留字所定義。 其他事情,都是由另外撰寫的函式來完成。但是,再看看 hello.c (最後一眼了):
#include <stdio.h> /* 第一個 C 程式 (hello.c) */ main() { printf("hello, world\n"); }
由於 C 被設計得很小、很利於修改以便適應各種不同的作業系統和硬體, 所以 C 本身會做的事,實在太少了。 因此,提供 C 編譯器的套裝軟體,通常在編譯程式 (例如 gcc) 之外, 還會附帶一些標準的外部函式,統稱為標準函式庫 (standard library)。 printf 就是一個標準外部函式。 以後我們會知道,總共有哪些標準外部函式。
每一個不同品牌的 C 編譯器 (例如 MS Visual C、Turbo C、Waterloo C、SparcPro C), 多少提供一些它們自己獨創的外部函式。 使用這些獨創的外部函式,多少帶來些便利,但是這種 C 原始碼就不能換到別的機器去, 用別的編譯器來製造可執行檔。因此,這種原始碼喪失了一些可攜性 (portability)。
到這裡,我想,讀者已經對 C 語言有了一個初始的輪廓。 但是心中必定還存有許多問題,例如
習題