关键词不能为空

当前您在: 主页 > 英语 >

内部函数和外部函数解读

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-01 14:33
tags:

-

2021年2月1日发(作者:church)


8.10


内部函数与外部函数




函数本质上是全局的,


但可以限定函 数能否被别的文件所引用。


当一个源程序由多个源


文件组成时,


C语言根据函数能否被其它源文件中的函数调用,


将函数分为内 部函数和外部


函数。



8.10.1


内部函数



如果在一个源文件中定义的 函数,


只能被本文件中的函数调用,


而不能被同一程序其它


文件中的函数调用,这种函数称为内部函数。


定义一个内部函数,只需在函数类型前再加一个


“static”

< br>关键字即可,如下所示:



static



函数类型




函数名


(


函数参数表

< br>)






{…















…}



关键字


“static”


,译成中文就是



静 态的



,所以内部函数又称静态函数。但此处

< br>“static”


的含义不是指存储方式,而是指对函数的作用域仅局限于本文件 。



使用内部函数的好处是:


不同的人 编写不同的函数时,


不用担心自己定义的函数,


是否

< p>
会与其它文件中的函数同名,因为同名也没有关系。




8.10.2


外部函数



外部函数的定义:在定义函 数时,如果没有加关键字


“static”


,或冠以关键字


“extern”


,表示


此函数是外部函数 :



[extern]



函数类型




函数名


(


函数参数表


)

























{……}



调用外部函数时,需要对其进行说明:



[extern]



函数类型




函数名


(


参数类型表


)[


,函数名


2(


参数类型表


2 )……]






8.22



外部函数应用。



< br>1


)文件


mainf.c


main()


{



extern void input(…),process(…),output(…);








input(…);



process(…);



output(…);



}





2


)文件


subf1.c


extern void input(……)





/*


定义外部函数


*/








{……}




3


)文件


s ubf2.c


extern void process(……)





/*


定义外部函数


*/









{……}




4


)文件


subf3.c……



extern void output(……)




/*


定义外部函数


*/








{……}






8.23



数组排序


----


简单选择排序



file1.c


main()


{


extern void sort(int



array[ ],int



n);




int a[10],i;







for(i=0;i<10;i++)



scanf(






sort(a,10);






for(i=0;i<10;i++)











printf(






printf(


}



file2.c


void sort(int



array[],int



n)


{





int i,j,k,t;







for(i=0;i







{






k=i;




for(j=i+1;j







if(array[j]




k=j;




if(k!=i)




{





t=array[i];









array[i]=array[k];









array[k]=t;




}







}


}



8.11


多个源程序文件的编译和连接





1


)一般过程



编辑各源文件





创建


Pr oject


(项目)文件





设置项目名称





编译、连接,运行,


查看结果。




2


)创建


Pro ject


(项目)文件



用编辑源文件 相同的方法,创建一个扩展名为


.PRJ


的项目文件:该文件中 仅包括将被


编译、连接的各源文件名,一行一个,其扩展名


.C


可以缺省;文件名的顺序,仅影响编译


的顺序,与运行无关。< /p>



注意:如果有某个(些)源文件不在当前目录下,则应在文件名 前冠以路径。




< br>3


)设置项目名称



打开菜单, 选取


Project



Project name


,输入项目文件名即可。




4


)编译、连接,运行,查看结果


< /p>


与单个源文件相同。


编译产生的目标文件,


以及连接产生的可执行文件,


它们的主文件


名,均与项目文件 的主文件名相同。



注意:


当前项目文 件调试完毕后,


应选取


Project



Clear project



将其 项目名称从


“Project


name”

中清除(清除后为空)


。否则,编译、连接和运行的,始终是该项目文件!




5


)关于错误跟踪



缺省时,


仅跟踪当前一个源程序文件 。


如果希望自动跟踪项目中的所有源文件,


则应将

-


-


-


-


-


-


-


-



本文更新与2021-02-01 14:33,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/593055.html

内部函数和外部函数解读的相关文章