static作用於函數:e.g.: static void func(void);
使用static用於函數定義時,對函數的連接方式產生影響,使得函數只在本文件內部有效,對其他文件是不可見的。這樣的函數又叫作靜態函數。使用靜態函數的好處是,不用擔心與其他文件的同名函數產生干擾,另外也是對函數本身的一種保護機制。
如果想要其他文件可以引用本地函數,則要在函數定義時使用關鍵字extern,表示該函數是外部函數,可供其他文件調用。另外在要引用別的文件中定義的外部函數的文件中,使用extern聲明要用的外部函數即可。
static 和 extern水火不容?