内部函数和外部函数

2012-11-17 09:17:30 · 作者: · 浏览: 351
    1 内部函数
   
    如果一个函数只能被本文件中的其他函数调用,它称为内部函数。在定义内部函数时在函数名和函数类型前面加static.即如:static int fun(int a,int b)。
   
    内部函数又称静态函数,可以使他的作用域只限于所在文件。这样在不同的文件中即使有同名的内部函数,也互不相干扰。方便团队开发。
   
    2 外部函数
   
    如果在定义函数时,在函数首部的最左端加关键字extern ,此时是外部函数。可供其他文件调用。
   
    如:extern int fun(int a,int b)。如果在定义时省略extern,则默认为外部函数。
   
    在需要调用此函数的其他文件中,需要对此函数做声明。(不要忘记,即使在本文件中调用一个函数,也要用函数原型进行声明)
   
    对此函数做声明时,要加关键字extern,表示该函数是其他文件中定义的函数。
   
    例子:
   
    file1.c中:
   
    int main()
   
    {
   
    extern enter_string(char str[]);
   
    enter_string(str1);
   
    }
   
    file2.c
   
    void enter_string(char str[])
   
    {
   
    }
   
    函数声明:函数声明可以是主调函数的函数体的一部分。函数体包括:声明部分和语句部分。
   
    函数声明可以写在函数的首部。如果已在文件的开头,已对本文件中所调用的函数进行了声明,则在各函数中不必对其所调用的函数做声明。我还是喜欢在文件开头声明。