内部函数和外部函数

内部函数

 //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);
}

 

posted @ 2015-04-12 21:24  woaijava  阅读(2626)  评论(0编辑  收藏  举报