定义和使用自己的函数:函数结构可以总结为:输入参数-->实现功能-->返回值
1. 函数的实现的基本语法
返回值类型 函数名称(形参列表)
{
函数体语句
}
如我们之前所定义的判断数字奇偶的函数:
int IsEvenNumber(int nNumber)
{
if (nNumber % 2 == 0)
return 1;
else
return 0;
}
2. 函数的返回值与参数
上面的函数的返回值和参数分别为:返回值类型是int(
int IsEvenNumber()
),一个参数,参数类型是int(
int nNumber
)
2.1 函数返回值
函数的返回值
在C语言中返回值类型只能有一种,可以是任意合法类型,只要之后函数中的
return
后所接的变量类型与返回值一致即可。
函数也可以没有返回值,需要使用void关键字声明:
void VoidFunc()
{
printf("我是一个没有返回值的函数\r\n");
printf("我的作用仅仅是打印\r\n");
}
2.2 函数的参数
函数的参数
可以没有、1个或者多个。只需要函数调用过程所传递的参数与函数定义时参数类型及数目是一致即可。
int AddTwoNumber(int x, int y)
{
return x + y;
}
int main(int argc, char* argv[])
{
AddTwoNumber(5, 9);//函数调用
return 0;
}
3. 函数的声明与实现分离
在C语言中,函数需要在使用之前声明实现,如果放在使用之后再做声明实现,就会报错。如下所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/311e709bd6784ea098d5373148339fec.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y2B5pyI5pen5Z-O,size_20,color_FFFFFF,t_70,g_se,x_16)
为了避免这种情况的出现,函数实现可以放在任意地方出现,C语言中使用.h头文件进行了解决。
- 将函数定义取出从函数体单独提出来,就是函数的声明,它又被称为函数原型,即:
返回值类型 函数名称(形参列表);
举例:
#include <stdio.h>
/*函数的声明*/
int AddTwoNumber(int x, int y);
int main(int argc, char* argv[])
{
int nValue = 0;
nValue = AddTwoNumber(5, 9);
printf("Sum:%d\n", nValue);
return 0;
}
/*函数的实现*/
int AddTwoNumber(int x, int y)
{
return x + y;
}
函数声明并不一定需要单独分离出,具体而言:如果函数的实现与函数调用在同一个文件中,且处在调用位置的上方,则不需要单独做函数声明。
4. 头文件和.c文件的关系
- 一般,我们将函数的实现放在.c/.cpp文件中,将函数的声明放在.h文件中。这样,只要包含对应的头文件,就能够调用对应的函数。
#include语句本质,是复制粘贴
5.学习视频地址:定义和使用自己的函数