1函数的定义
函数定义的格式: 数值返回类型 参数名(参数形式)
{ 执行语句
返回语句
}
int main() { int c = sum(1, 4); return 0;
}
在C语言中,函数的定义顺序是有讲究的:默认情况下,只有后面定义的函数才可以调用前面定义过的函数。
如果想把函数的定义写在main函数后面,而且main函数能正常调用这些函数,那就必须在main函数的前面进行函数的声明 1 // 只是做个函数声明,并不用实现
2 int sum(int a, int b); 3 4 int main() 5 { 6 int c = sum(1, 4); 7 return 0; 8 } 9 10 // 函数的定义(实现) 11 int sum(int a, int b) { 12 return a + b; 13 }
但是在链接的时候会报错,因为没有检测到sum的定义 C语言在编译运行时候不会检测函数有没有定义,但是在进行链接时候会检测。
2 函数的声明
格式
返回值类型 函数名 (参数1, 参数2, ...)
只有声明没有定义在进行链接时会报错 上面提到过
3多源文件开发
原因
1> 在编写第一个c语言程序的时候已经提到:我们编写的所有C语言代码都保存在拓展名为.c的源文件中,编写完毕后就进行编译、链接,最后运行程序。
2> 在前面的学习过程中,由于代码比较少,因此所有的代码都保存在一个.c源文件中。 但是,在实际开发过程中,项目做大了,源代码肯定非常多,很容易就上万行代码了,甚至上十万、百万都有可能。 这个时候如果把所有的代码都写到一个.c源文件中,那么这个文件将会非常庞大,也非常恶心,你可以想象一下,一个文件有十几万行文字,不要说调试程序了,连阅读代码都非常困难。
3> 而且,公司里面都是以团队开发为主,如果多个开发人员同时修改一个源文件,那就会带来很多麻烦的问题,比如张三修改的代码很有可能会抹掉李四之前添加的代码。
4> 因此,为了模块化开发,一般会将不同的功能写到不同的.c源文件中,这样的话,每个开发人员都负责修改不同的源文件,达到分工合作的目的,能够大大提高开发效率。 也就是说,一个正常的C语言项目是由多个.c源文件构成
3.1如何sum函数写到其他源文件中
1 写下源文件
1> main.c文件
1 int main() 2 { 3 4 return 0; 5 }
2> sum.c文件
1 int sum(int a, int b) 2 { 3 return a + b; 4 }
2将sum函数调入main函数中
main.c文件应该写成下面这样
1 #include <stdio.h> 2 3 int sum(int, int);//声明 4 5 int main() 6 { 7 int c = sum(10, 11); 8 9 printf("c is %d\n", c); 10 11 return 0; 12 }
3.编译所有的源文件,在编译后生成.0目标文件,,然后把两个目标文件进行链接生成执行文件
include
include<>或者include"",是两种不同的运行路径,但都会把include后的文件拷贝到include中
函数的声明一般放在.h头文件中,函数的定义一般放在.c源文件中
标签:main,定义,int,sum,源文件,include,函数 From: https://www.cnblogs.com/yimin666/p/16845662.html