预备知识部分.ppt

预备知识部分.ppt

ID:49298461

大小:244.00 KB

页数:31页

时间:2020-02-03

预备知识部分.ppt_第1页
预备知识部分.ppt_第2页
预备知识部分.ppt_第3页
预备知识部分.ppt_第4页
预备知识部分.ppt_第5页
资源描述:

《预备知识部分.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1预备知识部分本部分主要回顾几个知识点:C语言中的相关内容递归存储分配方式2C语言、递归及存储分配方式C语言中的函数参数传递C语言中的函数结果返回C语言中的结构体类型C语言中的指针什么是递归?有几种递归方式?有哪几种存储分配方式?C语言中有哪些库函数支持动态存储分配方式?3C语言中的函数参数传递C语言提供了两种参数传递机制:值传递将实参的值赋值给形参,函数对形参的改变不影响实参;地址传递将实参的地址赋值给形参,形参和实参代表的是同一段内存空间,函数对形参的处理就是对实参的处理。4算法的描述和分析例.1阅读下面的程序段,写出输出结果。#include//值传递void

2、change1(intx,inty){x+=10;y-=5;}//地址传递voidchange2(int*p,int*q){*p=*p+10;*q=*q-5;}voidmain(){inta,b;printf(“pleaseinputtwovalues:”);scanf(“%d,%d”,&a,&b);change1(a,b);printf(“theresultaftercallchange1procedure:a=%d,b=%d”,a,b);change2(&a,&b);printf(“theresultaftercallchange2procedure:a=%d,b=%d

3、n”,a,b);}5C语言为了提高数组传递的效率,数组作为函数参数传递时实际传递的是数组在内存中的首地址,函数的形参数组不再分配内存空间,它共享实参数组的内存空间。函数中对形参数组的处理实际上就是对实参数组的处理,因此能改变实参数组的值。C语言中的函数参数传递6算法的描述和分析例.2阅读下面的程序段,写出输出结果。voidchange3(intA[])//地址传递{A[0]=A[0]+10;A[1]=A[1]-5;}intmain(){intB[2];printf(“pleaseinputtwovalues:”);scanf(“%d,%d”,&B[0],&B[1]);change

4、3(B);printf(“theresultaftercallchange3procedure:B[0]=%d,B[1]=%d”,B[0],B[1]);}7需要补充说明的是,以一维数组作函数的形参时,一般为不带大小的一维数组,如果需要数组元素个数信息,则另设一个整数类型形参来表示数组的大小;以二维数组为函数的形参时,一般不带数组行数,但其列数一定要注明,行数用一个整数类型形参来表示。C语言中的函数参数传递8因为地址传递这种参数传递方式可以使函数对形参的操作直接影响到对应的实参,因此我们可以通过这种参数传递方式将被调函数的处理结果返回到调用函数中。当然,函数名也能带回一个处理结果,

5、但是实际应用中往往需要将被调函数的多个处理结果返回,此时就需要借助于地址传递了。C语言中的函数结果返回9C语言中的结构体类型结构类型用于表示由固定个数的多种类型元素所构成的复合数据,它是一种用户自定义类型。结构类型定义格式:struct<结构类型名>{<成员表>};10例如:下面定义了一个Student类型。该包括两个成员,一个是表示学号的no,另一个是记录学生姓名的字符数组name。structStudent{intno;charname[20];};11结构类型变量的定义格式有以下几种:(1)struct<结构类型名><结构类型变量名>;例如:structStudentst;(2

6、)struct<结构类型名>{<成员表>}<结构类型变量名>;例如:structStudent{intno;charname[20];}st;12(3)struct{<成员表>}<结构类型变量名>;例如:struct{intno;charname[20];}st;13算法的描述和分析结构成员的访问要通过结构变量名来“限制”,其访问形式为:<结构类型变量>.<结构成员名>每个成员都可以看作是一个独立的变量,可以参与运算,例如:voidf(Studentst){st.no=1;strcpy(st.name,“shenhua”);}14C语言中的指针在C语言中,用指针类型来描述内存地址,可

7、以说指针是内存地址的抽象表示,一个指针代表了一个内存地址。指针类型的定义格式:typedef<类型>*<指针类型名>;15C语言中的指针指针变量的定义格式:形式一:<指针类型名><指针变量名>;形式二:<类型>*<指针变量名>;例如:Pointerp;int*q;指针变量p,q均为指向int类型数据的指针变量。16C语言中的指针对指针变量所指数据的间接访问:情况一:可以通过“*”来访问一个指针变量指向的变量。例如:intx=7;int*p;p=&x;(*p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。