正文
c语言库函数要原型声明吗 c语言库函数源代码
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
C语言中,为什么要说明函数原型?
函数原型能告诉编译程序一个函数将接受什么样的参数,将返回什么样的返回值,这样编译程序就能检查对函数的调用是否正确,是否存在错误的类型转换。例如,现有以下函数原型;
int
some_func(int,char·,long);
编译程序就会检查所有对该函数的引用(包括该函数的定义)是否使用了三个参数并且返回一个int类型的值。如果编译程序发现函数的调用或定义与函数原型不匹配,编译程序就会报告出错或警告消息。例如,对上述函数原型来说,当编译程序检查以下语句时,就会报告出错或警告消息:
x
=
some_func(l);
/*
not
enough
arguments
passed
*/
x
=
somc_funcC*HELLOl",
1,
"DUDE:");
/*
wrong
type
of
arguments
used
*/
x
=
aome_funcd,
sir,
2879,
"T");
/*
too
many
arguments
passed
*/
下例中的函数调用同样是不正确的,因为函数some_func()的返回值不是一个long*类型的值。
lValue=some_func(1,str,2879);
/*some_rune()returns
anint,not
a
long*
*/
同样,编译程序还能检查函数的定义(或函数体)是否与函数原型匹配。例如,当编译程序检查以下函数定义时,就会报告出错或警告消息:
int
some_func(char
*string,longlValue,int
iValue)
/*
wrong
order
Of
{
parameters
*/
......
}
总之,在源文件中说明函数原型提供了一种检查函数是否被正确引用的机制。目前许多流行的编译程序都会检查被引用的函数的原型是否已在源文件中说明过,如果没有,就会发出警告消息。
C语言 库函数的实现???
C语言c语言库函数要原型声明吗的库函数大多数是用C语言编的,只有少数与硬件有直接联系的核心部分才用汇编.
所谓库函数并不深奥,库函数也是由一个一个函数(子程序)组成的,如同c语言库函数要原型声明吗我们自己程序里,有时也写很多子程序.
如果c语言库函数要原型声明吗我们把一些可以反复使用的子程序拿出来,集中到一起,编译成一个my.obj文件,今后写新程序时我们不另写这些子程序,我们只写子程序的调用语句,编译时链结my.obj就可以c语言库函数要原型声明吗了.当然,新程序的main()前面要有这些被调函数(子程序)的"原型"声明.
my.obj加上它里面的函数"原型"声明,就构成了库函数.函数"原型"声明就是这个库的"头"文件-- my.h, 这就是静态链结库.
自己也可以写动态链接库,动态链接库包括.DLL,.LIB,.H
自己写的静态链结库和动态链接库也可给别人用.就象C语言的库函数给c语言库函数要原型声明吗你用一样.当你给别人时,你如果不给你写的C的函数,别人也"看不到了",别人只能查头文件,得知函数名,参数个数和类型.
c语言中函数原型声明部分是什么意思
函数原型申明就是在main函数前面需要申明一下,否则main函数调用这个函数时会找不到,原型申明可以不定义具体的函数体,然后可以把函数体的具体部分放在main函数后面再来单独定义,这样程序整体上更整洁,要不然自定义函数都在main函数的前面就定义了,那代码一多还得找主函数。
c语言中函数的原型和声明是一回事吗,请高手指点,谢谢了
两者有些差异:
原型(Prototype)通常用在库函数的说明中,是给开发人员看的;
声明(Declaration)也是对函数的说明,出现在头文件中或程序文件中,是给编译器“看的”;
关于c语言库函数要原型声明吗和c语言库函数源代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。