C程序设计基础4-数组_第1页
C程序设计基础4-数组_第2页
C程序设计基础4-数组_第3页
C程序设计基础4-数组_第4页
C程序设计基础4-数组_第5页
已阅读5页,还剩453页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章数组,4.1一维数组,4.2指针数组,4.3二维数组,4.4数组作函数参数,4.5动态存储,4.6字符数组与字符串,小结,第4章数组,数组是由一定数目的同类元素顺序排列而成的结构类型数据一个数组在内存占有一片连续的存储区域数组名是存储空间的首地址数组的每个元素用下标变量标识,一维数组的元素是基本类型、结构类型或类类型一维数组是向量,4.1一维数组,说明格式为:类型标识符表达式;,4.1.1一维数组定义与初始化,4.1.1一维数组与初始化,说明格式为:类型标识符表达式;,4.1.1一维数组定义与初始化,数组元素类型,4.1.1一维数组与初始化,说明格式为:类型标识符表达式;,4.1.1一维数组定义与初始化,数组名存储地址,4.1.1一维数组与初始化,说明格式为:类型标识符表达式;,4.1.1一维数组定义与初始化,数组元素个数常整型表达式,4.1.1一维数组与初始化,说明格式为:类型标识符表达式;,4.1.1一维数组定义与初始化,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,例如constintN=20;constintM=40;constintMaxStringSize=80;constintMaxListSize=1000;intA10;charBMaxStringSize;doubleCM*N;intValuesMaxListSize;,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,例:intary10,i=3,j=5;,ary0=10,10,aryi=2,2,aryj=aryi,ary2+j=31,31,2,aryaryi=ary0,10,注意C+不提供对数组的下标范围检查,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,与普通变量一样,可以在数组定义的同时,对数组元素赋初值,例:inta5=1,3,5,7,9;intb15=0;intb25=1,2,3,;intc=1,2,3,4,5,6,7;intd5=1,2,3,4,5,6,7;,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,与普通变量一样,可以在数组定义的同时,对数组元素赋初值,例:inta5=1,3,5,7,9;intb15=0;intb25=1,2,3,;intc=1,2,3,4,5,6,7;intd5=1,2,3,4,5,6,7;,/各元素分别赋初始值,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,与普通变量一样,可以在数组定义的同时,对数组元素赋初值,例:inta5=1,3,5,7,9;intb15=0;intb25=1,2,3,;intc=1,2,3,4,5,6,7;intd5=1,2,3,4,5,6,7;,/全部元素初始化为0,/各元素分别赋初始值,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,与普通变量一样,可以在数组定义的同时,对数组元素赋初值,例:inta5=1,3,5,7,9;intb15=0;intb25=1,2,3,;intc=1,2,3,4,5,6,7;intd5=1,2,3,4,5,6,7;,/b23,b24自动赋0,/全部元素初始化为0,/各元素分别赋初始值,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,与普通变量一样,可以在数组定义的同时,对数组元素赋初值,例:inta5=1,3,5,7,9;intb15=0;intb25=1,2,3,;intc=1,2,3,4,5,6,7;intd5=1,2,3,4,5,6,7;,/b23,b24自动赋0,/自动定义数组长度为7,/全部元素初始化为0,/各元素分别赋初始值,4.1.1一维数组与初始化,4.1.1一维数组定义与初始化,与普通变量一样,可以在数组定义的同时,对数组元素赋初值,例:inta5=1,3,5,7,9;intb15=0;intb25=1,2,3,;intc=1,2,3,4,5,6,7;intd5=1,2,3,4,5,6,7;,/b23,b24自动赋0,/自动定义数组长度为7,/错误,初始化数据过多,/全部元素初始化为0,/各元素分别赋初始值,4.1.1一维数组与初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,4.1.1一维数组与初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,/声明数组a并初始化,4.1.1一维数组与初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,4.1.1一维数组与初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,4.1.1一维数组与初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,/输出数组b的全部元素值,4.1.1一维数组与初始化,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,/声明数组c,初始化,默认长度7,4.1.1一维数组与初始化,/输出数组b的全部元素值,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,4.1.1一维数组与初始化,/声明数组c,初始化,默认长度7,/输出数组b的全部元素值,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,int类型数据字节数,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,4.1.1一维数组与初始化,/声明数组c,初始化,默认长度7,/输出数组b的全部元素值,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,数组c的字节数sizeof(int7),/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,4.1.1一维数组与初始化,/声明数组c,初始化,默认长度7,/输出数组b的全部元素值,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,数组c的元素个数,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,/输出数组c的全部元素值,4.1.1一维数组与初始化,/声明数组c,初始化,默认长度7,/输出数组b的全部元素值,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/例4-1数组测试#includeusingnamespacestd;intmain()inti,a5=1,3,5,7,9;for(i=0;i5;i+)coutai;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbi;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutci;coutendl;,4.1.1一维数组与初始化,/输出数组c的全部元素值,/声明数组c,初始化,默认长度7,/输出数组b的全部元素值,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,访问格式:数组名表达式,4.1.2一维数组访问,1以下标方式访问数组,4.1.2一维数组访问,访问格式:数组名表达式,4.1.2一维数组访问,1以下标方式访问数组,数组的地址,4.1.2一维数组访问,访问格式:数组名表达式,4.1.2一维数组访问,1以下标方式访问数组,整型表达式地址偏移值,4.1.2一维数组访问,/例4-2以下标方式访问数组#includeusingnamespacestd;intmain()inti,total=0;intintary10;for(i=0;i10;i+)intaryi=i;coutintaryi;coutendl;for(i=0;i10;i+)total+=intaryi;couttotal=totalendl;,4.1.2一维数组访问,/例4-2以下标方式访问数组#includeusingnamespacestd;intmain()inti,total=0;intintary10;for(i=0;i10;i+)intaryi=i;coutintaryi;coutendl;for(i=0;i10;i+)total+=intaryi;couttotal=totalendl;,循环控制变量作下标表达式,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,/例4-3#includeusingnamespacestd;intmain()inta10=1,3,5,7,9;coutAddressofarraya:aendl;coutAddressofelementa3:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,/例4-3#includeusingnamespacestd;intmain()inta10=1,3,5,7,9;coutAddressofarraya:aendl;coutAddressofelementa3:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,/例4-3#includeusingnamespacestd;intmain()inta10=1,3,5,7,9;coutAddressofarraya:aendl;coutAddressofelementa3:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,a0 x0065FDE4,数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,a+10 x0065FDE8,数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,a+ia+i*sizeof(Type),数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,4.1.2一维数组访问,2以指针方式访问数组,数组名是隐含意义的常指针(直接地址)其关联类型是数组元素的类型,a=则:,4.1.2一维数组访问,/例4-4用指针方式访问数组#includeusingnamespacestd;intmain()inti,total=0;intintary10;for(i=0;i10;i+)*(intary+i)=i;cout*(intary+i);coutendl;for(i=0;i10;i+)total+=*(intary+i);couttotal=totalendl;,4.1.2一维数组访问,/例4-4用指针方式访问数组#includeusingnamespacestd;intmain()inti,total=0;intintary10;for(i=0;i10;i+)*(intary+i)=i;cout*(intary+i);coutendl;for(i=0;i10;i+)total+=*(intary+i);couttotal=totalendl;,数组元素的指针表示方式,4.1.2一维数组访问,4.1.2一维数组访问,指针变量与数组,inta10;int*p;p=a;cout*p;p+;cout*(p+);p+=3;cout,4.1.2一维数组访问,4.1.2一维数组访问,inta10;int*p;p=a;cout*p;p+;cout*(p+);p+=3;cout,/a是内存的直接地址,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;p=a;cout*p;p+;cout*(p+);p+=3;cout,/p是指针变量,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;cout*p;p+;cout*(p+);p+=3;cout,/p的值是a0的地址,0 x0065FDE4,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;p+;cout*(p+);p+=3;cout,/间址访问,输出a0的值,0 x0065FDE4,1,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;/间址访问,输出a0的值p+;cout*(p+);p+=3;cout,/p指向a1,0 x0065FDE4,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;/间址访问,输出a0的值p+;/p指向a1cout*(p+);p+=3;cout,0 x0065FDE8,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;/间址访问,输出a0的值p+;/p指向a1cout*(p+);p+=3;cout,0 x0065FDE8,/输出a1,p指向a2,3,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;/间址访问,输出a0的值p+;/p指向a1cout*(p+);/输出a1,p指向a2p+=3;cout,0 x0065FDEC,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;/间址访问,输出a0的值p+;/p指向a1cout*(p+);/输出a1,p指向a2p+=3;cout,0 x0065FDF8,/p指向a5,指针变量与数组,4.1.2一维数组访问,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;/间址访问,输出a0的值p+;/p指向a1cout*(p+);/输出a1,p指向a2p+=3;cout,0 x0065FDF8,/输出p的地址,指针变量的地址0 x0065FDE0,指针变量与数组,4.1.2一维数组访问,/p指向a5,4.1.2一维数组访问,inta10;/a是内存的直接地址int*p;/p是指针变量p=a;/p的值是a0的地址cout*p;/间址访问,输出a0的值p+;/p指向a1cout*(p+);/输出a1,p指向a2p+=3;/p指向a5cout/输出p的地址,0 x0065FDF4,0 x0065FDE0,指针变量与数组,4.1.2一维数组访问,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,整型指针,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,p=intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,地址偏移,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,间址访问元素,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,指针移动,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,下标偏移值,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,a0=1a1=3a2=5a3=7a4=9a1=1a3=3a5=5a7=7a9=9,a+5,注意循环结束后的指针位置,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,a0=1a1=3a2=5a3=7a4=9a1=1a3=3a5=5a7=7a9=9,指针复位,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,a0=1a1=3a2=5a3=7a4=9a1=1a3=3a5=5a7=7a9=9,a+5,4.1.2一维数组访问,a,指针复位,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,a0=1a1=3a2=5a3=7a4=9a1=1a3=3a5=5a7=7a9=9,指针变量下标方式访问元素,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,a0=1a1=3a2=5a3=7a4=9a1=1a3=3a5=5a7=7a9=9,动词偏置运算,访问对象,a+5,4.1.2一维数组访问,a,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,a0=1a1=3a2=5a3=7a4=9a0=1a1=3a2=5a3=7a4=9,a+5,4.1.2一维数组访问,a,a+5,可以吗?,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,for(i=0;i5;i+,a+)coutai=*at;,4.1.2一维数组访问,a,a+5,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,直接地址不能修改,4.1.2一维数组访问,a,for(i=0;i5;i+,a+)coutai=*at;,a,a+5,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,4.1.2一维数组访问,讨论指针偏移计算int*p;intn;p=p+n;,右操作数类型int,左操作数类型int*,a,a+5,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,4.1.2一维数组访问,讨论指针偏移计算int*p;intn;p=p+n;表达式根据运算相容规则,依int*对n作类型转换:n*sizeof(int)字节,a+5,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,4.1.2一维数组访问,a,a+5,/例4-5用指针变量访问数组#includeusingnamespacestd;intmain()inta=1,3,5,7,9,i,*p;for(p=a;pa+5;p+)coutap-a=*pt;coutendl;for(p=a,i=0;i5;i+)coutai=pit;coutendl;,4.1.2一维数组访问,a,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,数组名,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,数组长度,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,数组元素类型,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,例如:int*pi3;double*pf5;char*ps10;,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,例如:int*pi3;double*pf5;char*ps10;,/数组元素是关联类型为整型的指针,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,例如:int*pi3;double*pf5;char*ps10;,/数组元素是关联类型为整型的指针,/数组元素是关联类型为浮点型的指针,指针数组的元素类型是指针指针数组的元素存放对象的地址,4.2指针数组,说明形式为:类型*标识符表达式;,例如:int*pi3;double*pf5;char*ps10;,/数组元素是关联类型为整型的指针,/数组元素是关联类型为浮点型的指针,/数组元素是关联类型为字符型的指针,/例4-6测试指针数组#includeusingnamespacestd;intmain()inta=11,b=22,c=33,*pi3;pi0=,4.2指针数组,4.2.1指向基本数据类型的指针数组,/例4-6测试指针数组#includeusingnamespacestd;intmain()inta=11,b=22,c=33,*pi3;pi0=,4.2指针数组,4.2.1指向基本数据类型的指针数组,/例4-6测试指针数组#includeusingnamespacestd;intmain()inta=11,b=22,c=33,*pi3;pi0=,intmain()inta=11,b=22,c=33,*pi3;pi0=,intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,4.2指针数组,4.2.2指向数组的指针数组,4.2指针数组,/例4-7#includeusingnamespacestd;intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,pf是长度为3的数组,4.2.2指向数组的指针数组,/例4-7#includeusingnamespacestd;intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,数组元素是指针,4.2指针数组,4.2.2指向数组的指针数组,/例4-7#includeusingnamespacestd;intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,指针的关联类型是长度为2的浮点数组double2,4.2指针数组,4.2.2指向数组的指针数组,/例4-7#includeusingnamespacestd;intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,取对象地址,4.2指针数组,4.2.2指向数组的指针数组,/例4-7#includeusingnamespacestd;intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,(1)访问数组元素,i=0,pfi=intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,(2)访问对象,i=0,pfi=intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,(3)地址偏移,intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,(4)访问对象,i=0,pfi=intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,讨论aa与intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,二级指针,4.2指针数组,4.2.2指向数组的指针数组,讨论aa与intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,pf0=aa;,errorC2440:=:cannotconvertfromdouble2todouble(*)2,修改,4.2指针数组,4.2.2指向数组的指针数组,讨论aa与intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,4.2指针数组,errorC2440:=:cannotconvertfromdouble2todouble(*)2,4.2.2指向数组的指针数组,pf0=aa;,讨论aa与intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,4.2指针数组,errorC2440:=:cannotconvertfromdouble2todouble(*)2,pf0=aa;,4.2.2指向数组的指针数组,/例4-7#includeusingnamespacestd;intmain()doubleaa2=1.1,2.2;doublebb2=3.3,4.4;doublecc2=5.5,6.6;double(*pf3)2;pf0=,typedefdoublearyType2;aryTypeaa=1.1,2.2;aryTypebb=3.3,4.4;aryTypecc=5.5,6.6;aryType*pf3;,定义数组类型double2,4.2指针数组,4.2.2指向数组的指针数组,/例4-8用指针数组调用函数/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论