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

}

相关推荐
lifallen3 小时前
Hadoop MapReduce 任务/输入数据 分片 InputSplit 解析
大数据·数据结构·hadoop·分布式·算法
熙xi.4 小时前
数据结构 -- 哈希表和内核链表
数据结构·算法·散列表
Ghost-Face4 小时前
并查集提高——种类并查集(反集)
算法
董董灿是个攻城狮5 小时前
5分钟搞懂大模型微调的原始能力退化问题
算法
Incredibuild5 小时前
DevSecOps 集成 CI/CD Pipeline:实用指南
c++·ci/cd·devsecops
君鼎8 小时前
More Effective C++ 条款01:仔细区别 pointers 和 references
c++
艾醒9 小时前
大模型面试题剖析:大模型微调与训练硬件成本计算
人工智能·后端·算法
啊嘞嘞?9 小时前
力扣(滑动窗口最大值)
算法·leetcode·职场和发展
快递鸟9 小时前
ISV系统开发中物流接口的第三方模块对接:技术选型与集成实践
算法