首页 > 其他分享 >鹏哥C语言44---函数的声明和定义

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

时间:2024-09-20 09:22:50浏览次数:3  
标签:函数 int 鹏哥 Add C语言 --- add 声明 sub

#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;
}

标签:函数,int,鹏哥,Add,C语言,---,add,声明,sub
From: https://blog.csdn.net/most_wanted_/article/details/142375258

相关文章

  • java重点学习-JVM类加载器+垃圾回收
    12.7类加载器JVM只会运行二进制文件,类加载器的作用就是将字节码文件加载到JVM中,从而让Java程序能够启动起来。类加载器有哪些启动类加载器(BootStrapClassLoader):加载JAVAHOME/jre/lib目录下的库扩展类加载器(ExtClassLoader):主要加载JAVAHOME/jre/lib/ext目录中的类......
  • 基于django的大学生体育测评管理系统的设计与实现-毕业设计源码25982
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.1.1经济可行性分析2.1.2技术可行性分析2.1.3操作可行性分析2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4......
  • 2024-08-29-SEA-RAFT-中英对照
    SEA-RAFT:Simple,Efficient,AccurateRAFTforOpticalFlowSEA-RAFT:简单、高效、准确的光流RAFT算法YihanWang,LahavLipson,andJiaDeng王一涵,LahavLipson,和JiaDengDepartmentofComputerScience,PrincetonUniversity{yw7685,llipson,jiadeng}@princeton.e......
  • 网络安全C10-2024.9.15-Nmap、Xray、Nessus和AWVS使用扫描
    1、安装并使用Nmap扫描一个地址(本机、VPS、虚拟机环境都可以),提供扫描结果截图nmap下载安装:https://nmap.org/download#windowsnmap概述:Nmap(“NetworkMapper<网络映射器>”)是一款开放源代码的网络探测和安全审核的工具。Nmap输出的是扫描目标的列表,以及每个目标的补充信息,......
  • C#|.net core 基础 - 扩展数组添加删除性能最好的方法
    今天在编码的时候遇到了一个问题,需要对数组变量添加新元素和删除元素,因为数组是固定大小的,因此对新增和删除并不友好,但有时候又会用到,因此想针对数组封装两个扩展方法:新增元素与删除元素,并能到达以下三个目标:1、性能优异;2、兼容性好;3、方便使用;这三个目标最麻烦的应该就是性......
  • 【MATLAB源码-第224期】基于matlab的快跳频系统仿真采用4FSK,模拟了单音干扰,宽带干扰以
    操作环境:MATLAB2022a1、算法描述跳频通信系统概述跳频通信系统是一种通过快速切换载波频率来进行信息传输的无线通信技术。它在军事和商业通信中广泛应用,具有较强的抗干扰和抗截获能力。系统设计主要包括信号调制、跳频序列生成、信道模拟以及接收端的解调和滤波等部分。......
  • 【OpenHarmony实战开发】第20课-数据转码应用开发实战(下)
    1背景对于刚入门OpenHarmony开发的小伙伴来说,如果有一个合适的实战项目来练手,对自身的技术能力提升是非常有帮助的,本文将以一个小项目——数据转码应用,来讲解应用开发全流程。在《OpenHarmony数据转码应用开发实战(中)》我们讲述了核心解转码工具包的实现,以及UI组件数据绑定,那......
  • 【OpenHarmony实战开发】第19课-数据转码应用开发实战(中)
    1背景对于刚入门OpenHarmony开发的小伙伴来说,如果有一个合适的实战项目来练手,对自身的技术能力提升是非常有帮助的,本文将以一个小项目——数据转码应用,来讲解应用开发全流程。在《OpenHarmony数据转码应用开发实战(上)》中我们讲述了项目的需求、设计以及项目创建、UI界面开发......
  • 【MATLAB源码-第227期】基于matlab的北方苍鹰优化算法(NGO)机器人栅格路径规划,输出做
    操作环境:MATLAB2022a1、算法描述鼠群优化算法(RatSwarmOptimization,RSO)简介鼠群优化算法(RatSwarmOptimization,RSO)是一种模仿鼠类群体觅食行为的优化算法。该算法属于群体智能算法,通过模拟鼠群在复杂环境中寻找食物的行为,来解决各种优化问题。鼠类在觅食过程中表现......
  • Python编程 - 协程
    前言上篇文章主要讲述了python的进程,进程池和进程与线程对比等知识,接下来这篇文章再唠唠python的协程,让我们继续往下看!一、协程的使用python中的协程是一种用于处理并发任务的高效工具,它依赖于asyncio库以及async和await关键字来实现异步编程。协程与传统的多线程或......