内部函数(静态函数):
只能被本文件中其它函数调用。定义内部函数时,在函数名核函数类型的前面加上static。
static int fun (int a,int b) //fun是内部函数,不能被其他文件调用
通常把只能由本文件使用的函数和外部变量放在文件开头,且在前面冠以static将其进行局部化,使其他文件不能引用此函数和外部变量,提高了程序的可靠性。
外部函数:
可被其他文件调用,在函数首部最左端加上关键字extern,则此函数是外部函数。
例:一个字符串中有若干字符,输入一个字符,将字符串中的该字符删除。
//文件1
#include<stdio.>
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); //调用在其他文件中定义的enter_string函数
scanf("%c",&c); //输入要求删去的字符
dele_string(str,cc); //调用在其他文件中定义的delete_string函数
print_string(str); //调用在其他文件中定义的print_string函数
return 0;
}
//文件2
void enter_string(char str[80]) //定义外部函数enter_string
{
gets(str); //想字符数组输入字符串
}
//文件3
void delete_string(char str[],char ch) //定义外部函数delete_string函数
{
int i,j;
for(i\j\0;str[i]!='\0';i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]='\0';
}
//文件4
void print_string(char str[]) //定义外部函数print_string
{
printf("%s\n",str);
}
用函数原型能够把函数的作用域扩展到定义该函数的文件之外
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)