3.用指针指向数组元素(1)指向首元素方法1:指针名=数组名方法2:指针名=&数组名[0](2)指向任意元素方法:指针名=&数组名[i]]请一定记住:若指向了首元素,则指针名[i与数组名[i等价若指向了数组名[i]],则指针名[o]与数组名[i]等价
3.用指针指向数组元素 (1)指向首元素 ◆方法1: 指针名 = 数组名 ◆方法2: 指针名 = &数组名[0] (2)指向任意元素 方法: 指针名 = &数组名[i] 请一定记住: ◆若指向了首元素, 则指针名[i]与数组名[i]等价 ◆若指向了数组名[i],则指针名[0]与数组名[i]等价
4.指针算术运算(1)指针与整数的加、减运算一个指针量进行加或减整数n运算,作用是获得了当前位置后方或前方第n个元素的地址2p-1不管是指针常量还是变垃,宅们a整数运算的结果是得到了该地4Pa+1前方或后方第个数居的在储6a+2p+1地址(地址小的为前,人的为8a+3后)p+222a+4p+3a图6-18指针土n运算的意义
4.指针算术运算 (1)指针与整数的加、减运算 一个指针量进行加或减整数n运算,作用是获得了当前位 置后方或前方第n个元素的地址 图6-18 指针±n运算的意义
表6-1处理一维数组元素的方法取元素的地址取元素的值&a[0]a[0]p[0]a+0P+ O*(a + 0)*(p + 0)&a[1]a[1]p[1]*(a + 1)*(p + 1)a+1P + 1&a[2]a[2]p[2]a+2P+ 2*(a + 2)*(p + 2)&a[3]a[3]p[3]a+3P+3*(a + 3)*(p + 3)a[4]p[4]P+48a[4]*(a + 4)*(p + 4)8+ 4
(2)指针自增、目自减运算①和一般变量一样,指针可以进行(++)或(-)运算②作用是使指针向后或向前移动一个元素的位置若有以下定义:int a[5] = {1,2,3,4,5] ;int *pa = &a[2];举int b[5] int*pb=b; inty:则单独执行下面的语句的作用是:/*把a[2]的值赋给y后,Pa指向了a[3]*/y = *pa++;/*和上面作用完全等价*/y = *(pa++);例/*把a[2]的值赋给y后,a[2]的值增加1*/y = (*pa)++;/*Pa先指向a[3].然后把a[3]的值赋给y*y = *++pa;/*a[2]值先增加1.然后把a[2]的值赋给y*/y = ++*pa;/*把a[2]的值赋给b[0]后,pa指向a[3],pb指向b[1]*/*pb++ = *pa++;
(2)指针自增、自减运算 ①和一般变量一样,指针可以进行(++)或(-)运算 ②作用是使指针向后或向前移动一个元素的位置 举 例 若有以下定义: int a[5] = {1, 2, 3, 4, 5}; int *pa = &a[2]; int b[5]; int *pb = b; int y; 则单独执行下面的语句的作用是: