內部函數
//static 類型名 函數名 (參數表) // 例如: static int fun(int a,int b) //表示fun是一個內部函數,不能憋其他文件調用 //內部函數又稱靜態函數
外部函數
//如果在定義函數時,在函數首部的最左端加關鍵字extern //則此函數時外部函數,可供其他文件調用 extern int fun(int a,int b)
如果在定義函數時省略extern,則默認為外部函數。
怎樣具體的使用外部函數,下面一個例子
//file1.c 文件1 #include<stdio.h> int main() { extern void enter_string(char str[]); extern void delete_string(char str[],char ch); extern void print_string(char str[]); char c,str[80]; enter_string(str); scanf("%c",&c); delete_string(str,c); print_string(str); return 0; } //file2.c 文件2 void enter_string(char str[80]) //定義外部函數 enter_string { gets(str); // 向字符數組輸入字符串 } //file3.c 文件3 void delete_string(char str[],char ch) { int i,j; for(i=j=0;str[i]!='\0';i++) if(str[i]!=ch) str[j++]=str[i]; str[j]='\0'; } //file4.c 文件4 void print_string(char str[]) { printf("%s\n",str); }