c语言所有函数都是外部 C语言的所有函数都是外部函数

关于C语言的一道题目 内部函数 外部函数

因为

成都创新互联公司专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,资阳移动机房资阳移动机房,成都多线服务器托管等服务器托管服务。

C语言编译时要检查语法,所以A不对;

C语言没有过程,只有函数,所以B不对;

C语言函数内不能定义函数,既不能嵌套定义,所以C不对。

排除法也知道是D了。当然由“函数内不能定义函数”也可以推出所有函数都是外部函数。

—— 其实这种说法对外部函数的理解也还值得商榷。但其它的是完全不对,也就选它吧。

“在C语言中,函数名的储存类别为外部”

默认都为外部 ,就是可以被别的文件调用,前面static 修饰的话,则只能在本文件域中被调用。。

C语言都是外部函数吗……

有两种理解.(1)库函数是C语言的内部函数或自带函数,外部函数即程序员自定函数.

(2)凡加写了extern 的函数是外部函数.

第一种理解好懂:

C语言的内部函数指的是C语言自带的函数,无论是动态链接的或静态链接的. 这些函数通过C语言的头文件定义了.

例如, sin(),cos()等数学函数,在math.h中定义了,输入输出函数 printf(),fgetc()在stdio.h中定义了,时间函数表time(),ctime()等在time.h中定义了.还有许多其他内部函数.编程时,只要用#include 库名.h写在编程头部,程序中就可调用.

自定义函数,就是用户自己写的函数.

第二种凡加写了extern 的函数是外部函数:

自定义函数可以与程序的main()写在同一个文件中,也可以写在另一个文件中,这时你可能还另写自己的头文件或者写extern....,告诉编译器,main中用到的某某函数是"外部函数".

例如,main()在a.c中,自定义函数my_func()在a2.c中

a.c内容:

#include stdio.h

extern float my_func(float a);

main()

{

printf("result=%f\n",my_func(2.0));

}

a2.c 内容:

float my_func(float a)

{

return a;

}

编译:

cl -c a.c [得到a.obj]

cl -c a2.c [得到a2.obj]

cl a.obj a2.obj [链接成a.exe]

运行:

a.exe

result=2.000000

extern float my_func() 是外部说明,告诉编译,main()里的my_func是外部函数,要通过链接(.obj)得到.

如果把my_func写在a.c里:

#include stdio.h

float my_func(float a){

retun a;

}

main()

{

printf("result=%f\n",my_func(2.0));

}

my_func() 就不是外部函数.

编译:

cl a.c [得a.exe]

运行:

a.exe

result=2.000000

在C语言中,内部函数和外部函数的区别?

内部函数跟外部函数的区别在于:一个文件中定义的函数能否被其它文件调用。能被调用的函数在前面加extern(一般省略),而不能被调用的加static(不能省略),通常函数本质上是全局的,也就是外部的可调用的。

我们通常调用的#include本质上就是一些外部函数的集合,由于在一个文件中的函数要调用另外一个文件的函数,要求在开始声明一下,为了省略这些声明,我们引用include命令。

文章标题:c语言所有函数都是外部 C语言的所有函数都是外部函数
本文地址:https://www.cdcxhl.com/article22/hjjgcc.html

成都网站建设公司_创新互联,为您提供响应式网站软件开发定制网站App设计全网营销推广网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设