嵌入式C语言完全学习笔记(五)
6、函数
截至目前为止,已经学习的数据类型,运算符,三种程序结构,已经可以完成一些C语言
程序了。但是不足之处在于写简单程序可以,写不了复杂程序。
当程序简单的时候,一个人可以用一个main函数搞定功能。当程序变成的时候,超出了人的大脑承受范围,这时候逻辑不清了。这时候就需要把一个大程序分成许多小的模块来组织,于是乎出现了概念叫做函数。
函数是C语言代码的基本组成部分,它是一个小的模块,整个程序由很多个功能独立的
模块(函数)组成。这就是程序设计的基本分化方法。
之前接触过的函数:
main:C语言中所谓的主函数,主函数就是一种特别的函数。特别之处在于,一个C语言程序只能有且必须有一个main函数。C语言规定,一个C语言程序从主函数开始执行,到主函数执行完结束。
printf:函数的作用是用来在标准输出中打印信息。这个函数不是程序员自己写的,是C语言标准库提供的一个库函数。在C语言中写代码时可以引用库函数,但是必须使用#include引用这个库函数所在的头文件。
6.1、使用函数来写程序时的关键部分:
函数定义:函数定义是关键,是这个函数的实现。函数定义中包含了函数体,函数体中的代码段 决定了这个函数的功能。
函数声明:函数声明实际上是叫函数原型声明。什么叫原型?函数的原型包含三部分:函数名,返回值类型,函数参数列表。通俗讲,函数原型就是这个函数叫什么,接收什么类型的几个参数,返回一个什么样的返回值。
函数声明的作用,在于告诉使用函数的人,这个函数使用时应该传递给他什么样的参数,它会返回什么样类型的返回值。这些东西都是写函数的人在函数定义中规定好的,如果使用函数的人不参照这个原型来使用,就会出错,结果就会和你想的不一样。
函数调用:函数调用就是使用函数名来调用函数完成功能。调用时必须参照原型给函数传参,然后从函数得到适当的返回值作为结果。
6.2、函数参数:
形参:形式参数的简称。在函数定义和函数声明中的参数列表中的参数,都是形参。
实参:实际参数的简称。函数调用中,实际传递的参数才是实参。
函数调用的过程,其实就是实参传递给形参的一个过程。这个传递实际是一次拷贝。实际参数的时候,实参(本质是一个变量)本身并没有进入到函数内,而是把自己的值复制了一份传给了函数中的形参,在函数中参与运算。这种传参方法,就叫做传值调用。
6.3、返回值:(关键字return)
当函数执行完之后,会给调用该函数的地方返回一个值。这个值的类型就是函数声明中返回值类型,这个值就是函数体中最后一句return xxx;返回的那个值。
6.4、函数名,变量名
第一点:起名字时候不能随意,要遵守规则。这个规则有两个层次:第一层就是合法,第二层是合理。合法就是符号C语言中变量名的命名规则。合理就是变量名起的好,人一看就知道什么意思,一看就知道这个函数是干嘛的,而且优美、好记。
第二点:C语言中,所有的符号都是区分大小写的。也就是说abc和Abc和aBc都是不同的符号。
第三点:C语言函数名变量名的命名习惯。没有固定的结论,有多种使用都很广泛的命名方式。介绍两种这里,
一种是linux的命名习惯 student_age str_to_int
另一种是骆驼命名法 studentAge StrToInt
hisilicon海思半导体 HI_xxxx
作业:
1、自学(网上去搜)C语言中函数名和变量名的命名规则。
2、自学命名习惯
3、自学程序风格。空格 空行 缩进····
《高质量程序设计指南》 作者:林锐
华为代码规范
基础知识:
1、声明周期:指一个东西从出生到死亡的过程。
2、
C语言基础大模块:
数据类型
运算符
三种程序结构
函数
数组
指针
结构体、公用体、枚举