鹏哥C语言44---函数的声明和定义

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include "add.h"

#include "sub.h"

//----------------------------------------------------------------------------------------------------6. 函数的声明和定义

//-----------------------------------------------------------------------------------------------6.1 函数的声明

/*

1.告诉编译器有一个函数叫什么,参数类型是什么,返回类型是什么。但是具体是不是存在,函数声明决定不了。

2.函数的声明一般出现在函数的使用之前。要满足先声明后使用。

3.函数的声明一般要放在头文件中的。

*/

//-----------------------------------------------------------------------------------------------6.2 函数的定义

//函数的定义是指函数的具体实现, 交待函数的功能实现

---------------------------------函数的声明

// int Sub(int x, int y); //(放到add.h,在前边调用一下头文件 add.h)

// int Add(int x, int y); //(放到sub.h,在前边调用一下头文件 sub.h)

int Add(int , int ); //两者都可

int main()

{

int a = 0;

int b = 0;

scanf("%d %d", &a, &b);

int sum = Add(a, b);

printf("%d\n", sum);

int ret = Sub(a, b);

printf("%d\n", ret);

return 0;

}

--------------------------------函数的定义(放到add.c)

//int Add(int x, int y) //(放到add.c)

//{

// return x + y;

//}

//int Sub(int x, int y) //(放到sub.c)

//{

// return x - y;

//}

//函数定义到后边会警告:Add未定义

//可以在前边进行一下声明

// 把一个模块(加法函数模块)拆成 一个头文件(add.h 函数的声明),一个源文件(add.c 函数的定义),到底有啥好处?????????

// 包含头文件(#include "add.h")的意义 本质是把这个头文件的内容拷贝过来,从而实现函数声明的效果

//------------------------------------ add.h

#pragma once

//防止头文件被重复包含

// 加法 函数的声明

int Add(int x, int y);

//------------------------------------ add.c

// 函数的定义

int Add(int x, int y)

{

return x + y;

}

//------------------------------------ sub.h

#pragma once

//防止头文件被重复包含

// 减法 函数的声明

int Sub(int x, int y);

//------------------------------------ sub.c

// 减法函数的定义

int Sub(int x, int y)

{

return x - y;

}

相关推荐
yaoh.wang3 分钟前
力扣(LeetCode) 104: 二叉树的最大深度 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
egoist202315 分钟前
【Linux仓库】超越命令行用户:手写C语言Shell解释器,解密Bash背后的进程创建(附源码)
linux·c语言·bash·xshell·环境变量·命令行参数·内建命令
hetao173383716 分钟前
2025-12-21~22 hetao1733837的刷题笔记
c++·笔记·算法
醒过来摸鱼44 分钟前
递归三种分类方法
算法
炽烈小老头1 小时前
【每天学习一点算法 2025/12/22】将有序数组转换为二叉搜索树
学习·算法
呱呱巨基1 小时前
Linux 进程控制
linux·c++·笔记·学习
jghhh011 小时前
POCS(凸集投影)算法解决部分k空间数据缺失导致吉布斯伪影
算法
罗湖老棍子1 小时前
最小函数值(minval)(信息学奥赛一本通- P1370)
数据结构·c++·算法··优先队列·
LYFlied1 小时前
【每日算法】LeetCode 4. 寻找两个正序数组的中位数
算法·leetcode·面试·职场和发展
长安er1 小时前
LeetCode 62/64/5/1143多维动态规划核心题型总结
算法·leetcode·mybatis·动态规划