解锁即可观看《物联网/嵌入式工程师》完整课程视频

物联网/嵌入式工程师

重磅升级:新增硬件电路设计与实战,让你软硬通吃,同级PK无敌!行业风口、政策倾斜,新晋热门高薪不内卷!0基础一站式就业完整路径,抢占先发优势!

【第1周】迈进供不应求的物联网/嵌入式行业大门
【第2周】C语言进阶-编程思想
【第3周】C语言高级进阶
【第4周】C语言项目实战与《阶段笔试》
【第5周】数据结构-线性结构、非线性结构等
【第6周】排序与复杂度&数据结构项目实战
【第7周】Shell编程和Makefile工程管理
【第8周】Linux文件IO和标准IO
【第9周】Linux下文件操作项目实践与阶段评测
【第10周】Linux 多进程、多线程、IO模型
【第11周】Linux 项目实战-实现并发服务器模型与企业笔试
【第12周】网络基础和UDP Socket编程
【第13周】TCP Socket编程和WireShark抓包分析
【第14周】网络编程项目实战-网络视频监控与企业笔试
【第15周】从C到C++
【第16周】软件设计模式与C++11新特性
【第17周】项目实战-C++语言实现五子棋游戏与企业笔试
【第18周】嵌入式产品人机交互必备-QT框架
【第19周】项目实战-QT开发音乐播放器
【第20周】智能硬件开发-ARM核介绍和基础外设
【第21周】智能硬件开发-单片机常用外设
【第22周】stm32芯片-智能硬件项目实战与企业笔试
【第23周】大厂必备- linux内核与文件系统移植
【第24周】嵌入式开发-系统移植-bootloader、yocto
【第25周】嵌入式底层核心技能-Linux设备驱动初级
【第26周】嵌入式底层核心技能-Linux设备驱动中级
【第27周】嵌入式底层核心技能-Linux设备驱动高级1
【第28周】嵌入式底层核心技能-Linux设备驱动高级2
【第29周】智能家居项目实战之Linux智能网关端开发
【第30周】智能家居项目实战之STM32单片机设备端开发
【第31周】人脸指纹识别考勤机设计与实战
【第32周】硬件电路设计-电路基础知识
【第33周】STM32最小系统 - 硬件电路设计实战项目(一)
【第34周】CAN总线分析仪 - 硬件电路设计实战项目(二)
【第35周】4路输入输出控制器 - 硬件电路设计实战项目(三)
【第36周】8路逻辑分析仪 - 硬件电路设计实战项目(四)
【第37周】项目答辩和就业指导&独立开发阶段-三大热门领域项目
章节
问答
课签
笔记
评论
占位
占位

霸道总裁如何指挥公司:函数是什么

现在,小慕是一家市值百亿的科技公司的老板,旗下产品无数,管着几千个程序员,还管着人力资源,当然,最重要的,还管着财务。每天都很忙,却可以把公司管理得井井有条。他是怎么做的呢?

公司事务繁杂,雇佣了很多员工来帮助公司运转。例如,公司需要为员工缴纳五险一金,而作为老板,显然不用带着每一个员工的资料去人社局办理,只需要告诉 HR 部门,让他们去办理就行了。老板不需要知道办理社保的具体细节,因为具体细节 HR 部门的同事更擅长,老板所做的仅仅是发出命令就可以了。

回到 C++ 里面来,在 C++ 中,也有很多需要用到这种模式的场景。

例如,我们想要计算两个数的平均值:

#include <stdio.h>

int main(int argc,char **argv)
{
    int a = 10;
    int b = 20;
    int c = a + b / 2;

    return 0;
}

可以看到,计算平均数是一个可以进行单独模块化的部分,就像是公司的 HR 部门。在 C++ 中我们通过函数将这个部分做成一个模块。

#include <stdio.h>

//定义函数
int avg(int a, int b)
{
    return a + b / 2;
}

int main(int argc,char **argv)
{
    int a = 10;
    int b = 20;
    int c = avg(a, b); //函数调用

    return 0;
}

上面的代码中,我们就把计算平均数做成了一个函数,avg函数,在使用的时候,只需要直接调用这个函数就行了,而不用去了解平均数的计算方式。

在上面的例子中,我们把 avg 函数定义到了 main 函数之前,在使用的时候没有出现问题。

而有的同学想把avg函数写到 main 之后,例如这样:

#include <stdio.h>

int main(int argc,char **argv)
{
    int a = 10;
    int b = 20;
    int c = avg(a, b);

    return 0;
}


int avg(int a, int b)
{
    return a + b / 2;
}

这样修改之后,发现程序没法运行了。这是因为在 C++ 中,函数要想使用,必须要先声明。所以我们可以在调用之后实现函数体,但是必须在调用之前声明

#include <stdio.h>

int avg(int a, int b); //函数声明

int main(int argc,char **argv)
{
    int a = 10;
    int b = 20;
    int c = avg(a, b);

    return 0;
}

int avg(int a, int b)
{
    return a + b / 2;
}

我们现在将函数分成两个部分来说明,分别是函数头,函数体

函数头:

 

函数体:

c++ 允许函数为调用者返回一个量,就像是老板安排某一个员工去办某一件事,老板希望员工办完这件事之后,给一个结果。而在这个求平均数的例子中,返回值就是求平均数之后的结果。

任务

?不会了怎么办
||

提问题

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布
全部 我要发布
最热 最新
只看我的

手记推荐

更多

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?