【嵌入式C语言】六

7.6continue跳转语句

8.1函数的语法格式

函数的语法格式:

返回值类型 函数名(数据类型 参数1,数据类型 参数2,...)

{

函数体

}

函数的两种存在形式

  • 库函数:
    int main(void)
    {
    int32_t res = 0;

    res = Sum(1,100);
    prinf("sum of 1~100 is %d.\n",res);
    return 0;
    }

  • printf是C语言的 标准库函数,除了标准库以外,还有很多三方开源库,比如cjson、单片机厂商提供的hal库等等

  • 这些库函数在使用时,需要包含对应的头文件,比如使用printf,需要#Include<stdio.h>

  • 自定义函数:

  • 比如我们前面自定义实现的int32_t Sum(int32_t begin,int32_t end)函数

函数的返回值

1、函数只能通过return语句返回主调函数。return语句的一般形式为:

return 表达式

return 表达式的结果类型和函数定义中的返回值类型应保持一致

2.函数如果没有返回值,需要使用void关键字修饰,表示空的意思

8.2return跳转语句

在这个函数中执行的是跳出整个函数

8.3参数的数值传递本质

如果函数有参数,在调用它时,必须传递正确数量和类型的参数

在调用函数时,传递给参数的可以是以下几种形式:

1、常数值:sum(1,100)

2、变量:sum(a,b)

3、函数的返回值:sum(sum(1,100),100)

4、表达式:sum(1+2,100)

如果函数没有参数,在定义它时,使用void进行修饰:

当调用函数时,begin=a,end=b,但是在物理空间上没有任何关系

为什么调用函数后,没有将a和b的值互换

因为调用函数的时候传递的是数值,临时变量x和y 的值进行了互换

相关推荐
dtq042418 分钟前
数据结构 - 线性表 - 双向链表
c语言·数据结构·学习
不正经学生4 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技4 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风7 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx7 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_7 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_8 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
xiaobobo33308 小时前
c语言中for循环条件中定义临时栈变量的作用域
c语言·for循环条件定义栈变量·大括号作用域·独立栈变量
geovindu8 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦8 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信