文章目录
前言
函数的声明定义,引用自定义头文件调用自定义函数,通过静态库调用自定义函数,函数的递归等的简单介绍。
一、函数的声明和定义
一般情况下,C语言函数应该定义在主函数之前,否则会有警告提示。
1.函数的声明
代码如下(示例):
//函数的声明
int add(int x, int y);
int main()
{
return 0;
}
- 函数的声明需要确定函数名,参数类型及数量,返回值类型。
- 函数的声明结尾需要加分号( ;)。
2. 函数的定义
- 函数的定义与在主函数之前定义相同。
int add(int x, int y)
{
return x + y;
}
将函数的声明与定义分开,有利于协作和分工。
二、引用头文件调用自定义函数
以vs(Visual Studio 2022)加减法函数为例
1. 新建头文件
2. 头文件中声明自定义函数
3. 源文件中新建add.c文件
4. add.c中定义函数
5. test.c源文件中引入add.h头文件并调用函数
6. 运行结果
三、通过静态库调用自定义函数
通过静态库调用函数 通过 #pragma comment (lib, “add.lib”) 引入静态库。
1. add 和 test 两个项目
- add项目中创建add.c源文件,add.h头文件与上述一致。
2. 修改add项目的配置方式
3. 找到静态库
4. 将静态库及add.h头文件复制到test项目中
5. test项目中参照add.h头文件调用函数
6. 运行结果
四、函数的递归
- 输入常数,打印常数的每一项。
代码示例如下:
#include <stdio.h>
void print(int n)
{
if (n > 9)
{
print(n / 10);
}
printf("%d ", n % 10);
}
int main()
{
int m = 0;
scanf("%d", &m);
// 调用print函数打印输入数字的每一位
print(m);
return 0;
}
运行结果如下:
- 不引入临时变量,计算字符串"abc"的长度
代码示例如下:
#include <stdio.h>
int my_strlen(char* str)
{
if (*str != '\0')
{
return 1 + my_strlen(str + 1);
}
else
{
return 0;
}
}
int main()
{
char arr[] = "abc";
int num = my_strlen(arr);
printf("%d", num);
return 0;
}
运行结果如下:
总结
函数的声明定义,引用自定义头文件调用自定义函数,通过静态库调用自定义函数,函数的递归等的简单介绍。自定义头文件和静态库包含详细步骤操作图解。函数递归包括两个经典案例即1. 顺序打印输入数字的每一位;2. 不引入临时变量计算字符串的长度。