第06章指针(二)

第06章指针(二)

ID:44942512

大小:161.50 KB

页数:25页

时间:2019-11-05

第06章指针(二)_第1页
第06章指针(二)_第2页
第06章指针(二)_第3页
第06章指针(二)_第4页
第06章指针(二)_第5页
资源描述:

《第06章指针(二)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章指针(二)《C语言程序设计》6.3.3指针数组因为指针也是变量,因此可设想用指向同一数据类型的指针来构成一个数组,这就是指针数组。数组中的每个元素都是指针变量,并且指针数组中每个元素都为指向同一数据类型的指针。定义指针数组的一般形式为:类型名*数组名[元素个数];例如:int*pi[10];定义:数组中的元素为指针变量定义形式:数据类型*数组名[数组长度说明];数组中的每个元素都是指针变量,并且指针数组中每个元素都为指向同一数据类型的指针。例int*p[4];指针所指向变量的数据类型指针数组赋值与初始化赋值:main(){intb[2][3],*pb[2];pb[0]=b[0]

2、;pb[1]=b[1];……..}int*pb[2]pb[0]pb[1]intb[2][3]123246初始化:voidmain(){intb[2][3],*pb[]={b[0],b[1]};……..}int*pb[2]pb[0]pb[1]intb[2][3]1232466.3.3指针数组指针数组赋值与初始化LispFortranBasicp[0]p[1]p[2]p[3]0赋值:voidmain(){chara[]="Fortran";charb[]="Lisp";charc[]="Basic";char*p[4];p[0]=a;p[1]=b;p[2]=c;p[3]=NU

3、LL;……..}或:voidmain(){char*p[4];p[0]="Fortran";p[1]="Lisp";p[2]="Basic";p[3]=NULL;……..}初始化:voidmain(){char*p[]={"Fortran","Lisp","Basic",NULL};……..}LispFortranBasicp[0]p[1]p[2]p[3]0charname[5][9]={“gain”,“much”,“stronger”,“point”,“bye”};char*name[5]={“gain”,“much”,“stronger”,“point”,“bye”}

4、;gainstrongerpointmuchname[0]name[1]name[2]name[3]name[4]byegainstrongerpointmuchbye二维数组与指针数组区别:二维数组存储空间固定字符指针数组相当于可变列长的二维数组分配内存单元=数组维数*2+各字符串长度指针数组元素的作用相当于二维数组的行名但指针数组中元素是指针变量二维数组的行名是地址常量6.3.3指针数组例6.4将数字1-12转换成相应月份的英文名称。例6.4源程序例6.5将若干字符串按字母顺序(由小到大)排序。例6.5源程序程序运行结果为:badminto

5、nbasketballfootballtennisvolleyball/*例6.4源程序*/#includevoidmain(){staticchar*cname[]={"Illegalmonth","January","February","March","April","May","June","July","August","September",October","November","December"};char*cmonth;intii;printf("PleaseinputmonthNo.(1--12):");scanf("%d",&ii);cmon

6、th=(ii<1

7、

8、ii>12)?cname[0]:cname[ii];printf("%s",cmonth);}6.3.4指针与二维数组用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素,但在概念上和使用上复杂一些。定义二维数组:intia[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};例6.6使用指针输出二维数组的全部元素。#includevoidmain(){intia[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};int*pi,ii;pi=ia;for(ii=0;ii<12;

9、ii++){printf("%d,",*pi++);}printf("");}例inta[3][4];a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]每个元素a[i]由包含4个元素的一维数组组成二维数组a是由3个元素组成a[0]a[1]a[2]行名此时需要一个可指向一个包含n个元素的数组的指针p,且指针p的增值以一维数组的长度为单位,

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

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

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