C语言

【C语言入门教程】5.4 递归

递归函数是能够直接或通过另一个函数间接调用自身的函数,调用自身的方法称为递归调用。递归调用的本质是使用同一算法将复杂的问题不断化简,直到该问题解决。例如求斐波那契数列的某一项算法适用于递归函数实现。斐波那契数列指的是这样一个数列:0,1,1,2,3,5,8,13,21...这个数列从第三项开始,每一项都等于前两项之和。...
代码星球·2021-01-16

【C语言入门教程】5.3 函数的调用 与 参数

函数通过调用获得程序的控制权,函数的参数是调用者与函数的数据接口。函数可以定义一个或多个参数,也可以省略参数,调用时将与参数的数据类型相匹配的数据置于参数列表中,即可在函数体内使用。参数的调用有多种形式,对函数的影响也有不同的结果。 5.3.1形式参数与实际参数形式参数是接口数据的目的地,实际参数是接口数据的...

【C语言入门教程】5.2 函数的作用域规则(auto, static)

作用域规则是指代码或数据的有效使用范围。C语言将函数作为独立的代码块,函数之间不能相互访问其内部的代码或数据。函数间数据的传递只能通过接口实现。但是,变量的定义方法可改变函数的作用域规则,可将变量分为局部变量和全局变量两种。 5.2.1局部变量在函数体内定义的变量称为局部变量,局部变量的作用域仅限于该函数体内...

【C语言入门教程】5.1 函数说明 与 返回值

C语言是结构化语言,它的主要结构成分是函数。函数被作为一种构件,用以完成程序中的某个具体功能。函数允许一个程序的各个任务被分别定义和编码,使程序模块化。本章介绍C语言函数的设计,如何用函数分解程序的各个功能,如何使用函数构成模块化程序,以及代码复用的基本思想。 5.1函数说明与返回值函数的一般形式如下:类型说...

【C语言入门教程】4.9 指向指针的指针

指针变量可以指向另一个指针变量,这种操作并不是将一个指针变量所指向的内存地址传递给另一个指针变量,而是定义一种指向指针类型的指针变量,可将其称为双重指针。双重指针的定义形式为:数据类型**变量名;其中使用2个间接运算符,如下例所示:inti,*pi,**dpi;//声明整型变量i、整型指针变量pi和整型双重指针变量dp...

【C语言入门教程】4.10 综合实例

4.10.1建立播放列表数据字典名称数据类型说明MAX_LENGTH符号常量用于定义数组长度,表示列表最大长度MAX_FILE_LENGTH符号常量用于定义数组长度,表示文件名最大长度GET_NAME符号常量用于scanf()函数输入文件名,说明输入字符串的长度,值为%<MAX_FILE_LENGTH>s*...

【C语言入门教程】4.8 指针数组

指针数组是一种特殊的数组,这类数组存放的全部是同一数据类型的内存地址。指针数组的定义形式为:数据类型*数组名[长度];例如:constchar*c[4]={"China","USA","Rassia","Japan"};//定义长度为4的常量字符型指针数组,将数组元素分别指向4个字符串常量inti;for(i=0;i&...

【C语言入门教程】4.7 指针的地址分配

指针变量可指向任何类型的变量,在处理过程中,指针变量指向的变量通过传递变量的地址来实现,指针变量的取值是内存的地址,这个地址应当是安全的,不可以是随意的。否则,写入内存单元的值将使得已存放的数据或程序丢失。应使用变异系统提供的标准函数来实现地址分配。GCC编译器支持动态分配内存的函数malloc()和free(),它们...

【C语言入门教程】4.6 指针 和 数组

数组在内存中以顺序的形式存放,数组的第一个存储单元的地址即数组的首地址。对一维数组来说,直接引用数组名就能获得该数组的首地址。指针变量可以存放于其内容相同的数组首地址,也可以指向某一具体的数组元素。通过这种方式,多维数组也被看作一维数组来操作,简化了数组的操作方式。 4.6.1指针与一维数组定义一维数组后,可...

【C语言入门教程】4.5 指针变量的定义与引用

指针变量是包含内存地址的变量。一般的变量直接包含一个特定的值,而指针变量包含的是某一特定数据类型的内存地址。普通变量直接引用其中的值,指针变量则间接引用所指向内存地址中的值。指针变量在使用前需要声明与初始化。 4.5.1指针变量的定义指针变量定义时,需要指定所指向的数据类型。声明指针变量的一般形式为:数据类型...

【C语言入门教程】4.4 指针 与 指针变量

在程序中声明变量后,编译器就会为该变量分配相应的内存单元。也就是说,每个变量在内存会有固定的位置,有具体的地址。由于变量的数据类型不同,它所占的内存单元数也不相同。如下列声明了一些变量和数组。inti=18;//声明整形变量i,并赋值charc[5]={89,90,91,92,93};//声明字符型数组c并初始化flo...

【C语言入门教程】4.3 多维数组

多维数组是指拥有多组小标的数组,维数的限制有具体编译器决定。多维数组的一般声明形式为:数据类型数组名[长度1][长度2]......[长度n];数组的总长度等于每组下标长度的乘积。多维数组使用连续的存储空间,编译器在为多维数组分配内存单元时,首先从“数组[0][0]......[0]”开始,沿着最后一组小标顺序分配。当...

【C语言入门教程】4.2 二维数组

C语言允许使用多维数组,即使用多组小标的数组,二维数组是最常用的多维数组。多维数组在内存中存放数据的顺序与一维数组相同,使用连续的存储单元。 4.2.1二维数组的一般形式二维数组的一般声明形式为:数组类型数组名[长度1][长度2];数组的总长度等于长度1与长度2的乘积。如下列所示:charc[2][5]={6...

【C语言入门教程】4.1 一维数组

数组与指针涉及到数据在内存中的存储位置问题,数组由连续的存储单元组成,最低地址对应于数组的第一个单元,最高地址对应于数组的最后一个单元。指针是一种特殊的变量,该变量所存放的是内存地址,通过指针变量可访问所指向内存空间的内容。 4.1一维数组数组是一组相关的内存位置,它们都具有相同对的名称和类型。为引用数组中的...

【C语言入门教程】3.4 循环控制语句

循环结构又称重复结构,是程序的3种基本结构之一。它反复执行循环体内的代码,解决需要大量重复处理的问题。循环结构由循环控制语句实现,其中内建有条件控制语句,用来判读是否继续执行循环操作。C语言提供了 while语句、do-while语句、for语句3种基本的循环控制语句,并且可以相互嵌套使用。 3.4...