函数的声明与定义

函数的声明:告诉编译器有这个函数,使得函数放在主函数后面也不会报错

函数声明格式:int Add(int x,int y)

函数的定义:即函数那一部分的结构体,如:

int Add(int x, int y)
{
	int z = 0;
	z = x + y;
	return z;
}

函数的声明与定义是相互存在的,即使函数声明了,若函数没有写定义,直接引用函数的声明,这个函数也不会存在(即只使用Add(a,b)但不写出Add()的结构体)。


在初步了解函数的声明与定义后,我们可以更深一层理解:

在所有跟着谭浩强学习c语言的大多数人都会看到一些奇怪的代码写法,如:

#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int k=Add(a, b);
	printf("%d\n", 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);一行,表示告诉系统,有这样一个函数,系统就会明白,不会再出现警告了。

#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("%d\n", k);
	return 0;
}
int Add(int x, int y)
{
	int z = 0;
	z = x + y;
	return z;
}

 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值