c语言第八章实验报告书4_(3)

2019-03-03 11:38

组。注意*p两侧的括号必不可少,如果写成*p[4],由于方括号[]运算级别高,因此p先于[4]结合,p[4]是定义数组的形式,然后再与前面的*结合,*p[4]就是指针数组,这两者有本质上的区别,要注意区别,在写程序的时候不要出错; 14.程序中,把score[0][0]的地址传给p,使p指向score[0][0],然后再average函数中,使p先后指向二维数组的各个元素,p每增加1就改为指向score数组的下一个元素,形参n代表需要求平均值的元素的个数;p_end代表的是最后一个元素的地址;

15.该程序中,实参score和形参p的类型是相同的,在调用search函数时,p得到实参score的值,即score[0]的起始地址,也就是说p指向score数组的第一行,然后p先后指向各行; 16.用字符数组存放一个字符串,可以通过数组名和下标引用字符串中一个字符,也可以通过数组名和格式声明%s输出该字符串;注意:由于在初始化时字符的个数是确定的,因此可以不必指定数组的长度,用数组名string和输出格式%s可以输出整个字符串;

17.对字符指针变量的初始化,实际上是把字符串第一个元素的地址(即存放字符串的字符数组的首元素地址)赋给指针变量string,使string指向字符串的第一个字符;

18.该程序中,可以通过地址访问其数组的元素;

19.由于可以用指针变量访问字符串,因此可以通过改变指针变量的值使它指向字符串中的不同字符;定义两个指针变量,改变指针变量的值,使它们顺序指向数组中的各元素,进行对应元素的复制;

20.可以定义一个函数copy_string用来实现字符串的复制功能,在主函数中调用此函数,函数的形参和实参可以分别用字符数组名或字符指针变量;

21.指针变量a的值是可以变化的,printf函数输出字符串时,从指针变量a当时所指向的元素开始,逐个输出各个字符,知道遇到‘\\0’为止,而数组名虽然代表地址,但它是常量,它的值是不能改变的,这点要注意;

22.可以定义一个指向函数的指针变量,用来存放某一函数的起始地址; 23.在程序中,调用函数的语句是“c=(*p)(a,b)”,这样使用了指向函数的指针变量;

24.在该程序中,只用到了f1和f2函数,完全可以在fun函数中直接调用这两个函数,不用定义指针变量,但是如果在每次调用fun函数时,要调用的函数时不固定的,这时,使用指针变量就比较方便了。只要在每次调用fun函数的时候给出不同的函数名作为实参即可,fun函数不必做任何修改;这是一种符合结构化程序设计方法原则的方法,要注意掌握;

25.该函数的返回值是&score[k][0](即存放序号为k的学生序号为0的课程的数组元素的地址),然后在主函数中输出该生的全部成绩;

26.在该程序中,main函数不止调用一次search函数,在search函数中检查3个学生有无不及格的课程,如果有,就返回该学生的0号课程的地址&score[i][0],否则返回NULL;

27.该程序中要注意的是:用选择法排序,但是不移动字符串,而是改变指针数组的各元素指向;

28.定义一个指针数组name,并对它初始化,使name数组中每一个元素分别指向5个字符串,定义一个指针型数据的指针变量p,使p先后指向name数组中各个

11

29.注意:指针数组的元素只能存放地址,不能存放整数;

30.用malloc函数开辟一个动态自由区域,用来存5个学生的成绩,会得到这个动态区域第一个字节的地址,它的基类型是void型,用一个基类型为int的指针变量p来指向动态数组的各元素,并输出它们的值,但要注意:必须先把malloc函数返回的void指针转换为整型指针,然后赋给p1;

12


c语言第八章实验报告书4_(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:五年级语文s版上册第四单元教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: