/* * 14_內部函數和外部函數.c * * Created on: 2015年7月5日 * Author: zhong */ #include#include /** * 所謂的外內部函數:是根據函數能否被其他源誰的調用來區分的; * 一:內部函數:在函數定義時前面加個static (c語言的這個靜態函數和java的static方法就差太遠了) * 如果一個函數只能被本文件中其它函數調用,它稱為內部函數,又叫靜態函數 * 只需要在定義和函數時在前面加個 static關鍵字即可,這說就可以將這個函數的作用域限制在本文件中。和java的private方法修色符一樣的效果。 * 如:static int max(int a,int b){} * 這樣不但限制了作用域問題,還有就是在相同工程中的不同文件中可以定義相同名稱的函數名,互不干擾 * * *二:外部函數:在函數定義時前面加個extern,當然這個extern關鍵字是可省略的,就是平時定的普通默認的函數 * 如: extern int fun(int a,int b){} * * 在本文件中調用其它文件的外部函數時,需要對外部函數聲明(當然本文件中調用也是要對函數原型進行聲明的)。在此函數聲明時,要加關鍵字extern * * * */ //定義內部函數(靜態函數) static int max_(int a,int b){ return a>b?a:b; } //普通的函數(外部函數) extern int fun(){ //extern可省略 } int main() { extern void character_int_out_put();//引用 “02_輸入輸出函數.c”文件中的函數,先對其進行聲明,要不會警告,但不報錯 character_int_out_put(); //調用 // system(pause); return 0; }