毕业论文
您现在的位置: 语言识别 >> 语言识别优势 >> 正文 >> 正文

传智播客C语言函数对另外一个源文件函数进

来源:语言识别 时间:2024/10/10
北京中科助力白癜风康复 https://m.39.net/pf/a_6169154.html
前面文章关于函数的调用都是针对一个源文件中其他函数进行调用的,想要学习函数调用的可以看文章。有些情况下,函数是可能对另外一个源文件中的函数进行调用的。当一个程序由多个源文件组成的时候,根据函数是否能被其他源文件调用的时候,将函数分为内部函数和外部函数,本文就会围着这外部函数的特点进行讲解,希望每一个在学C语言的小伙伴都能弄懂函数的知识点。外部函数在开发大的项目的时候,为了方便团队的协同工作,我们需要把一个项目拆分开,分成很多的源文件来实现。最后再将它们整理在一起。为了减少不必要的重复代码,一个源文件有时候需要调用其他的源文件中定义的函数。那么在C语言当中,可以被其他源文件调用的函数成为外部函数,在调用外部函数之前,需要在当前源文件中定义外部函数。定义外部函数的方式就是在函数的返回值类型前面提那家extern关键字,标准代码如下:externintadd(intx,inty);在上面这一行的代码当中,编译器会通过extern关键字知道add()函数是定义在其他的文件当中的外部函数;我们为了帮助大家更好的理解用法,下面在Firstc文件中定义一个add()函数,然后second.c文件当中使用first.c文件当中定义的add()函数,first.c和second.c的代码示例如下:first.csecond.c那么运行结果如下:在上面second.c文件当中通过调用的恶first.c里面定义的add()函数计算出来了1+2的结果。second.c文件当中的外部函数add()是在first.c文件中实现的,编译器从first.c里面找到了这个函数,并且把它的作用扩大到后面这个second.c的文件当中,于是second.c的文件中也可以调用这个first.c中定义的add()函数,从而完成上述计算。下面为了简化我们编程的步骤,C语言是可以在定义外部函数的时候省略关键字extern的。比如说first.c的例子中定义的外部函数add()也是可以修改成下面这样:intadd(intx,inty);上面代码是由函数的返回类型、函数名和参数列表所组成的,这类格式的代码被称作函数原型。当代码中包含函数原型的时候,可能会有下面两种情况:(1)编程人员希望编译器可以自动的从其他文件中找出这个函数的定义(2)编程人员先定义下来未实现的空函数,然后在其他的文件中具体实现;下面我们就来看个例子,printf()函数的原型写法,如下:intprintf(constchar*,…);当在main()函数中定义了一个printf()函数的原型后再调用时就可以不用包含头文件stdio.h,如下:运行结果如下:在上面这个例子当中,并没有包含头文件stdio.h,但是在代码第一行中生命了printf()函数的原型,那么编译器将会根据该原型自动从其他的文件中查找这个函数的定义,之后把这个函数的作用扩展到原型所在的文件里面,所以在本文件中就能调用printf()函数。注意!在声明外部函数的时候,无论有没有关键字extern,外部函数与函数定义的返回值类型、函数名称都和参数列表必须是一致的。

转载请注明:http://www.0431gb208.com/sjszjzl/7738.html