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

}

相关推荐
lightqjx3 分钟前
【算法】二分算法
c++·算法·leetcode·二分算法·二分模板
Irissgwe1 小时前
进程间通信
linux·服务器·网络·c++·进程间通信
ic爱吃蓝莓1 小时前
数据结构 | HashMap原理
数据结构·学习·算法·链表·哈希算法
add45a1 小时前
C++编译期数据结构
开发语言·c++·算法
灰色小旋风1 小时前
力扣21 合并两个有序链表(C++)
c++·leetcode·链表
Laurence1 小时前
Qt 前后端通信(QWebChannel Js / C++ 互操作):原理、示例、步骤解说
前端·javascript·c++·后端·交互·qwebchannel·互操作
王老师青少年编程2 小时前
2026年3月GESP真题及题解(C++五级):有限不循环小数
c++·题解·真题·gesp·csp·五级·有限不循环小数
Amnesia0_02 小时前
C++中的IO流
开发语言·c++
2401_891482172 小时前
C++模块化编程指南
开发语言·c++·算法
沉鱼.442 小时前
树、堆的题目集
算法