C語言學習筆記:14_內部函數和外部函數
/*
* 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;
}