鹏哥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;

}

相关推荐
vivo互联网技术5 分钟前
ART:妆容迁移框架,重新定义高保真妆容迁移 | ECCV 2026
人工智能·算法·图像识别
用户0441440924498 分钟前
卫星信号模拟器里的四个坐标转换公式
算法
橘和柠18 分钟前
阿里 open-code-review (AI代码审查工具)实战:安装、四层规则链、自定义规则格式与实测避坑
算法·面试
得物技术18 分钟前
别再只卷向量检索了,得物交易搜索如何用“生成式”实现召回范式跃迁?
人工智能·算法·llm
罗西的思考19 分钟前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(4)--- Rollout实现细节
人工智能·算法
罗西的思考30 分钟前
机器人 / 物理 Agent Harness 综合分析与对比:从「更强的模型」到「更好的系统」
人工智能·算法·机器学习
小小龙学IT30 分钟前
Boost.Interprocess 开源 C++ 进程间通信库深度解析
c++·开源
库玛西31 分钟前
攻克 408 数据结构:图论基石深度拆解(数学极值推演 + 存储内存剖析 + BFS/DFS 双核模板)
数据结构·算法·深度优先·广度优先·图搜索算法
晓蛋5 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
倒头就睡的小比特5 天前
算法竞赛C++常用的STL
c++·算法