函数的声明:告诉编译器有这个函数,使得函数放在主函数后面也不会报错
函数声明格式:int Add(int x,int y)
函数的定义:即函数那一部分的结构体,如:
复制代码
1
2
3
4
5
6int Add(int x, int y) { int z = 0; z = x + y; return z; }
函数的声明与定义是相互存在的,即使函数声明了,若函数没有写定义,直接引用函数的声明,这个函数也不会存在(即只使用Add(a,b)但不写出Add()的结构体)。
在初步了解函数的声明与定义后,我们可以更深一层理解:
在所有跟着谭浩强学习c语言的大多数人都会看到一些奇怪的代码写法,如:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#include <stdio.h> int main() { int a = 10; int b = 20; int k=Add(a, b); printf("%dn", k); return 0; } int Add(int x, int y) { int z = 0; z = x + y; return z; }
这样,将函数写在了主函数后面,而我们将其写在自己平常使用的编译器中有时会出现警告甚至报错,就如Visual Studio来运行以上代码,虽然结果成功,但仍会有以下警告:
会显示出Add未定义的一个警告。
这是因为在c的编译器中,代码是一行一行运转下来的,而自定义函数放在最后才被编译,导致编译器一开始不知道Add(a,b)这一行要如何运行,所以会出现警告。
若以这种形式写,在这时函数的声明就十分重要了,如果我们不想出现警告或者错误,就需要在上面int main()前加上int Add(int x, int y);一行,表示告诉系统,有这样一个函数,系统就会明白,不会再出现警告了。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int Add(int x, int y);//在前面添加上这一行 int main() { int a = 10; int b = 20; int k=Add(a, b); printf("%dn", k); return 0; } int Add(int x, int y) { int z = 0; z = x + y; return z; }
最后
以上就是生动玫瑰最近收集整理的关于函数的声明与定义的全部内容,更多相关函数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复