资源描述:
《指针和自定义数据类型课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五讲指针和自定义数据类型y=++px——y=(++px)y=px++——y=(px++)注意优先级和结合顺序问题:y=px++和y=(px)++的意义structstudent{intnumber;charname[4];}student*pst;5.1指针及其运算5.1.1指针的算术运算pstpst=pst+1;pxn:pxnsizeof(T)px-py:(px-py)/sizeof(T)px+n,px-n——将指针从当前位置向前或向后移动n个数据单位,而不是n个字节。这取决于指针所指向的数据类型(T)。px-py求出的是两指针位置之间的数据个数,而不是地址差。5.1.
2、3指针的关系运算是对两个相同类型的指针的运算,如px3、;pa[3]=10;*(a+3)=10;a[3]=10;}5.2.2字符指针与字符数组可用字符数组表示字符串,也可用字符指针指向字符串的首址。指针表示字符串可以赋多个串值,只要将字符串的首址赋给它。字符数组是常量不能赋值。指针与数组的差异:指针是地址变量,可任意改变它的值;数组名是地址常量,其值不能改变。#includevoidmain(){staticcharstr[]="string";char*ps;ps=str;while(*ps!=' '){cout<<*ps;ps++;}cout<4、元素都是一指针变量。存储类型数据类型*指针数组名[元素个数]#includevoidmain(){inta[2][3],*pa[2];pa[0]=a[0];pa[1]=a[1];for(inti=0;i<3;i++)*(pa[0]+i)=i;for(i=0;i<3;i++)*(pa[1]+i)=i;for(i=0;i<2;i++){cout<5、放int的指针*p=newint;//存放整数空间**p=256;#includevoidmain(){int**p;p=newint*;*p=newint;**p=256;cout<<**p<voidmain(){char**app;staticchar*a[]={"Wang","Liu","Zhang"};app=a;cout<<*app<6、*(app+2)+2)<