实验十二:字符串和结构
结构的概念与定义:
结构与数组:
*都是构造类型,是多个变量的集合。
*数组成员类型相同,结构成员类型不同。
程序解析:
主函数main:主界面功能控制
函数new_student:新建学生信息
函数search_student:查询学生信息
函数output_student:输出学生信息
结构数组名作为函数实参实际上与普通数组函数参数是一样的,就是将数组首地址传递函数形参。
结构是C语言中一种新的构造数据类型,它能够把有内在联系的不同类型的数据统一成一个整体,使它们相互关联。结构又是变量的集合,可以按照对基本数据类型的操作方法单独使用其变量成员。
第三个题目中运用了结构变量的整体赋值:
具有相同类型的结构变量可以直接赋值。赋值时,将赋值符号右边结构变量的每一个成员的值都赋给了左边结构变量中相应个成员的值都赋给了左边结构变量中相应的成员。
结构变量作为函数参数:如果一个C程序的规模较大,功能较多,必然需要以函数的形式进行功能模块的划分和实现。
如果程序中含有结构数据,则就可能需要用结构变量作为函数的参数或返回值,以在函数间传递数据。
特点:可以传递多个数据且参数形式较简单。
缺点:对于成员较多的大型结构,参数传递时所进行的结构数据复制使得效率较低。
结构数组操作:一个结构变量只能表示一个实体的信息,如果有许多相同类型的实体,就需要使用结构数组。
结构数组是结构与数组的结合,与普通数组的不同之处在于每个数组元素都是一个结构类型的变量。
结构数组元素的成员引用,其格式为:结构数组名[下标] .
上次作业的第三题实在还是不懂什么意思,我想以后等我学得更好了就会理解了吧,现在也不要着急,再来说说上次的题目吧:
冒泡法进行排序:
int i,j,t; for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
一个数一个数的比较,再一个一个升上去,冒泡排序。
以前的知识也会忘记,要抽时间去巩固,好好学习!
That is all!!!:-D