在C 语言中,具有一定功能、相对独立的程序段称为函数。无论主函数main()位于程序中的什么位置,程序执行时总是从main()开始。C 语言程序的一般结构如图5.1 所示。它具有以下特点:图5.1C 程序中的函数C 语言允许一个程序由多个源文件组成,每个源文件可以独立编译,一个源文件可以被不同的程序使用。一个C 程序有且仅有一个主函数main,主函数可以放在任何一个源文件中,程序总是从主函数开始执行。......
2023-10-21
在例7.8 中采用动态分配的办法为一个结构分配内存空间。每一次分配一块空间,用来存放一个学生的数据,可称为一个结点。有多少个学生就要分配多少块内存空间,也就是建立多少个结点。当然用结构体数组也可以完成上述工作,但是如果预先不能准确把握学生人数,就无法确定数组大小。而且当学生留级、退学后又不能释放该元素占用的空间。
用动态内存分配的方法就可以解决这些问题。有一个学生,分配一个结点,无须预先确定学生的人数。某学生退学,可删去该结点,释放该结点占用的存储空间。另外,用数组的方法必须占用连续内存区域,而使用动态分配时,各个结点之间可以不连续(结点内是连续的)。结点之间的联系,是用指针来实现,即在结点结构中定义一个成员项,用来存放下一结点的首地址,这个用于存放地址的成员称为指针域。
这样,在第一个结点的指针域存入第二个结点的首地址,在第二个结点的指针域存入第三个结点的首地址,如此串连下去直到最后一个结点。最后一个结点因无后续结点连接,指针域可赋以NULL。这样一种连接方式,在数据结构中称为“链表”。其示意如图7.10 所示。
图7.10 链表示意图(www.chuimin.cn)
图7.10 中,head 是一个指针变量,存放第一个结点的首地址。以下的结点分为两个域,一个是数据域,存放各种数据,譬如学号num,姓名name,性别sex 和成绩score 等;另一个是指针域,存放下一结点的首地址。链表中的每一个结点有同一种结构类型。例如一个存放学生学号和成绩的结点的结构如下:
前两个成员项组成数据域,后一个成员项next 构成指针域,是一个指向stu 类型结构的指针变量。
有关C语言程序设计实用教程的文章
在C 语言中,具有一定功能、相对独立的程序段称为函数。无论主函数main()位于程序中的什么位置,程序执行时总是从main()开始。C 语言程序的一般结构如图5.1 所示。它具有以下特点:图5.1C 程序中的函数C 语言允许一个程序由多个源文件组成,每个源文件可以独立编译,一个源文件可以被不同的程序使用。一个C 程序有且仅有一个主函数main,主函数可以放在任何一个源文件中,程序总是从主函数开始执行。......
2023-10-21
在C 语言中,对文件的基本操作包括文件的打开与关闭、文件的读和写等。表9.1文件操作方式例如:打开当前目录下的C.DAT 文件,这是一个二进制文件,只允许进行读操作,并使fp 指针指向该文件。应该养成在程序终止前关闭所有文件的习惯,如果不关闭文件将会丢失数据。......
2023-10-21
在一个C 程序中,有且只能有一个名为main 的函数,该函数称为主函数。程序执行始终是始于主函数,结束于主函数。C 程序中的每个语句都是以分号(;)作为语句结束符的。......
2023-10-21
在C 语言程序中,是通过对函数的调用来执行函数体,其过程与子程序调用相似。在调用函数时,大多数情况下主调函数和被调函数之间有数据传递。图5.2程序运行结果函数调用在程序中起一个表达式或者语句的作用。在调用函数时,有3 种不同的方式。这就要求该函数必须是有返回值的。getchar 函数调用作为表达式使用,即赋值表达式的右操作。......
2023-10-21
一个指针变量用来指向一个结构体变量时,称之为结构体指针变量。结构体指针变量中的值是所指向的结构体变量的首地址。有了结构体指针变量,就能方便地访问结构体变量的各个成员。下面通过例子来说明结构体指针变量的具体说明和使用方法。图7.6程序运行结果说明:程序定义了一个结构stu,定义了stu 类型结构体变量boy1,并初始化赋值,还定义了一个指向stu 类型结构的指针变量pstu。......
2023-10-21
但是允许在一个函数的定义中出现对另一个函数的调用,即函数的嵌套调用。图5.9函数嵌套调用与子程序嵌套类似,是在执行主函数main()中调用函数a()的语句时,转去执行函数a();在函数a()中调用函数b()时,转去执行函数b();在函数b()执行完毕,返回函数a()的继续执行;函数a()执行完毕,返回主函数main()。函数嵌套调用举例。图5.11程序运行结果统计一批数据中大于平均值的数据总数。图5.12程序运行结果......
2023-10-21
图4.18程序运行结果设有3 个学生的4 门课成绩,求每个学生4 门课程的总评成绩、3 个学生每门课程的平均成绩。图4.19程序运行结果挑战节目主持人。图4.20程序运行结果联合国排名是以国家名的英文字母排序,社会上也常以姓氏的汉语拼音字母排序。就这样,用字符数组min 依次与新输入的字符串比较,直到输入字符串为空时为止。图4.21程序运行结果......
2023-10-21
相关推荐