声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照书籍的实际顺序梳理,转载请注明出处。
作者:sumjess
适用:这本书我已经看过4遍了,但是该书的知识点我并不是都常用,所以总会有忘记的,所以来写这本书的随手笔记,记录重点、易忘点。该博客可以当做字典,也可以当做你的笔记。
目前内容:第九章总结
第九章:函数
1、复习函数:
(1)函数是完成任务的独立程序代码单元。
(2)为什么要使用函数?
① 使用函数可以省去编写重复代码的苦差。
② 即使使用一次也是值得用函数。因为函数让程序更加模块化,从而提高程序代码的可读性,更方便后期修改、完善。
(3)创建并使用简单的函数:
① 函数原型告诉编译器函数text()的类型;函数调用表明在此处执行函数;函数定义明确地指出定了函数要做什么。
② 函数和变量一样有很多种类型。任何程序在使用函数之前都要声明该函数的类型。
③ 一般而言,函数原型指明了函数的返回值类型和函数接受的参数类型,这些信息称为该函数的签名。
④程序把text原型置于main()的前面。当然,也可以放在main()里面的声明变量处。
(4)定义带形式参数的函数:
① void text(char ch,int num),该行告知编译器text使用两个参数,这两个变量称之为形式参数
② 另一种表达方式:void text(x,y,z)
int a,b,c;
(5)调用带实际参数的函数:
void text(char ch,12);形式参数是被调函数中的变量,实际参数是主调函数赋给被调函数的具体值。
(6)黑盒视角:
黑盒方法的核心部分是:ch、num、count都是text()的私有的局部变量。如果在main()中使用同名变量,那么它们相互独立,互不影响。
(7)使用return从函数中返回值:
2、递归:
注:因为递归函数使用起来很容易出错,我个人一般也不使用,在此就不在总结,为了方便学习了解
3、编译多源代码文件的程序
4、查找地址:&运算符:
指针是C语言最重要的概念之一,用于储存变量的地址。前面使用的scanf()函数中就使用地址作为参数。概括的说,如果主调函数不使用return返回的值,则必须通过地址才能修改主调函数中的值。
5、更改主调函数中的变量:
利用中介变量,例如:将a,b值交换: c=a;a=b;b=c;
6、指针简介:
指针是一个值为内存地址的变量(或数据对象)。
(2)间接运算符 * 与地址运算符 &:
地址运算符 &:后面跟一个变量名时,&给出该变量的地址。 &nurse表示变量nurse的地址;
② 间接运算符 * :后跟一个指针名或地址时,*给出储存在指针指向地址上的值;
③ 转换说明 :%p格式的转换说明。
(3)使用指针在函数间通信:
(4)辨别:变量的、名称、地址和值:
编写程序时,可以认为变量有两个属性:名称和值(还有其他性质,如类型,暂不讨论)。计算机编译和加载程序后,认为变量也有两个属性:地址和值。地址就是变量在计算机内部的名称。简而言之,普通变量把值作为基本量,把地址作为通过&运算符获得派生量