C语言

【C语言入门教程】7.5 枚举

在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期只有七种可能取值。在C语言中对这样取值比较特殊的变量可以定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量只限于列举出来的值的范围内取值。定义一个变量是枚举类型,可以先定义一个枚举类型名,然后再说明这个变量是该枚举类型。例如:enumweek...
代码星球·2021-01-16

【C语言入门教程】7.3 结构体指针的定义和引用

C语言中指针的操作非常灵活,它也能指向结构体变量对结构体变量进行操作。在学习结构指针之前,需要再次加深对指针的认识。声明指针变量时所使用的数据类型修饰符实际上的作用是定义指针访问内存的范围,如果指针定义为整型,那么该指针访问内存的范围就是整型变量在内存中所占用的空间大小。虽然每次尝试将指针变量所在存储的内存地址输出会发...

【C语言入门教程】7.2 结构体数组的定义和引用

7.2结构体数组的定义和引用当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间。如下例所示:structstudentstu_a[50];//声明长度为50的结构体数组stu_a引用结构体数组中元素的一般形式为:结构体数组名[n].成员名[]符号的优先级与.符号相同...

【C语言入门教程】7.1 结构体类型变量的定义和引用

前面学习了变量和数组这些简单的数据结构,它们的特点是必须使用规定的数据类型。例如数组被定义为整型后,它的所有存储单元都是由整型构成。现实生活中某一类事物的共同属性可能是由不同的数据类型组成的集合,或者某一属性在不同的情况下表现为不同的数据类型。本章将讲解结构体与共用体,用来设计复合数据结构。 7.1结构体类型...

【C语言入门教程】5.5 实现问题(效率)

在设计函数时需要遵循一些基本原则,因为影响到函数的执行效率和可用性。函数是代码复用的基础,一个健壮的函数或由函数组成的函数集可以在多个程序中使用。C语言标准库里存放的就是这样的函数,这些函数被放置在头文件中,使用时将它包含在程序内即可。 5.5.1参数和通用函数通用函数是指能够复用的函数,这一类函数的显著特点...

【C语言入门教程】5.6 函数库和文件

函数库是为代码复用建立的,将同一类型,需要在不同的程序里使用的函数放置在一起,就组成了一个函数库。如C语言的标准库,它集合了开发者常用的函数。开发者自行编写的函数也可以组成函数库,通常称之为自定义函数库。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指针与一维数组定义一维数组后,可...