如何理解c语言函数声明C语言如何理解void

C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明。接下来在文章中将为大家具体介绍有关函数声明的知识,具有一定的参考作用,希望对大家有所帮助。

【推荐课程:C语言教程】

函数声明

所谓声明(Declaration),就是告诉编译器我将要使用这个函数,虽然现在没有找到它的定义不要紧,但是请不要报错稍后会把定义补上。
函数声明的格式非常简单,相当于去掉函数定义中的函数体再加上分号;,如下所示:

返回值类型  函数名 类型 形参, 类型 形参… );

也可以不写形参,只写数据类型:

返回值类型  函数名 类型, 类型…);

函数声明给出了函数名、返回值类型、参数列表(参数类型)等与该函数有关的信息,称为函数原型(Function Prototype)。
函数原型的作用是告诉编译器与该函数有关的信息,让编译器知道函数的存在,以及存在的形式,即使函数暂时没有定义,编译器也知道如何使用它。
有了函数声明,函数定义就可以出现在任何地方了,甚至是其他文件、静态链接库、动态链接库等。

例:

#include <stdio.h>
// 函数声明
long factorialint n); 
//也可以写作 long factorialint);
long sumlong n); //也可以写作 long sumlong);
int main){
printf"1!+2!+...+9!+10! = %ld\n", sum10));return 0;
}
//求阶乘
long factorialint n)
{
int i;
long result=1;
fori=1; i<=n; i++){
result *= i;
}
return result;
}
// 求累加的和
long sumlong n)
{int i;
long result = 0;
fori=1; i<=n; i++)
{
//嵌套调用
result += factoriali);
}
return result;
}

运行结果为:1!+2!+…+9!+10! = 4037913

我们知道,使用 printf)、puts)、scanf)、getchar) 等函数要引入 stdio.h 这个头文件,很多初学者认为 stdio.h 中包含了函数定义(也就是函数体),只要有了头文件程序就能运行。其实不然,头文件中包含的都是函数声明,而不是函数定义,函数定义都在系统库中,只有头文件没有系统库在链接时就会报错,程序根本不能运行。

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。

以上就是如何理解c语言函数声明的详细内容,更多请关注风君子博客其它相关文章!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注