1 / 74
文档名称:

指针引用运算符语句.ppt

格式:ppt   大小:1,052KB   页数:74页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

指针引用运算符语句.ppt

上传人:sunhongz3 2019/3/14 文件大小:1.03 MB

下载得到文件列表

指针引用运算符语句.ppt

相关文档

文档介绍

文档介绍:第三讲 。指针变量所表示的数据值是某个变量在内存中的地址值。称这个指针指向该变量。指针的类型是它所指向变量的类型,而不是指针本身数据值的类型,因为任何指针本身数据值的类型都是unsignedlongint型。如:inta=5;int*p=&a;//定义一个指向整型变量空间的指针,并初始化为整型变量a的起始地址,使p指向a。1、指针概念5p1001a100120032、指针的定义格式为:<类型>*<指针变量名>;例如:int*pi;//一个指向整型变量的指针float*pl;char*pc;char(*pa)[3];//一个指向数组空间的指针int**pp;//一个指向指针变量空间的指针注:类型的不同,并不影响指针本身空间大小的不同(都是内存地址值),但却决定了指针所指向的空间的不同,也带来了对指针所指向空间的不同操作。可以指向,但还未指向P2003100120一个整型空间1001一、赋值运算定义一个指针后,必须先给它赋值后才能引用,否则易出错。如:inta=1,*p1,*p2;p1=&a;//赋给同类型的变量地址值p2=p1;//赋给同类型的指针变量的值*p1=2;//给p1所指向的变量赋值*p2=3;//给p2所指向的变量赋值3、指针的运算P1a*P1***代表取值二、加一或减一运算如:inta[10],*p;p=a;//p指向数组a中的a[0]元素p=p+1;//这时p指向a[1]三、相减运算(一定条件下)如:inta[10],*p1,*p2;p1=&a[2];p2=&a[5];//分别指向数组中的不同元素intm=p2-p1;//所得为指针间相隔的元素个数P20031001a[0]a1001**********d1011a[1]a[2]a[3]a[4]P200310050x00428D54指针地址是无符号长整形:4byteC++中,数组元素可以用下标表示也可用指针表示。1、一维数组的指针表示如:inta[5];a[2]=3;//下标表示a[i]*(a+2)=3;//指针表示*(a+i)其中a是数组名,C++规定数组名是一个常量指针,其值是该数组首元素的地址值。如:inta[5],*p;p=a;//与p=&a[0]等效p=p+1;*p=4;//将4赋给a[1]注意:a=a+1;//错误!为什么?指针和数组2、二维数组的指针表示如:intb[3][4];b[2][3]=3;//下标表示b[i][j]*(*(b+2)+3)=3;//指针表示*(*(b+i)+j)其中b是二维数组名,对于b而言,b[0]等是其元素,但要注意这些元素的类型并不是int型,而是相当于int[3]型。因此,我们称b[0]等为第0行。其中b[0]行中有b[0][0]~b[0][2]三个元素,注意这些元素的类型才是int型。则有以下表示方式:b[1][2]*(b[1]+2)(*(b+1))[2]*(*(b+1)+2)b[0]b[1]b[2]b[0][0]b[0][1]b[0][2]b[0][3]b[1][0]b[1][1]b[1][2]b[1][3]b[2][0]b[2][1]b[2][2]b[2][3]b#include""voidmain(){inta[12],*p=a;for(inti=0;i<12;i++){ *p=i+1; //元素赋值if(i%4==0)cout<<endl; cout<<*p<<"\t"; p=p+1; }}123456789101112a[12]pa[0]a[1]a[2]a[9]a[10]a[11]*p a[0],指针下跳1,*p a[1]给一维数组赋值并按每4个一行方式输出