C9.2变量的指针和指向变量的指针变量 语 程例93c交换两个指针变量所指向的变量的值。 main() 设计精品课 i int *pl,*p2, a1, a2, a, a1=10 a2=20; 荆程 1=&a1 p2=&a2; a=*p1;p1=p2;p2=a; printf((“a=%d,a2=%dⅦn”,a1,a2) 技术系
结束 首页 上页 下页 末页 节 例9_3.c 交换两个指针变量所指向的变量的值。 main( ) { int *p1, *p2, a1, a2, a; a1=10; a2=20; p1=&a1; p2=&a2; a=*p1; *p1=*p2; *p2=a; printf(“a1= %d ,a2= %d \n ” , a1, a2); } 9.2 变量的指针和指向变量的指针变量
C 语 93.1指向数组元素的指针 程 设 个数组是由连续的一块内存单元组成的。数组名就 计是这块连续内存单元的首地址。一个数组也是由各个 精数组元素(下标变量组成的。每个数组元素按其类型 品不同占有几个连续的内存单元。一个数组元素的首地 课址也是指它所占有的几个内存单元的首地址。 荆程 定义一个指向数组元素的指针变量的方法,与以前 介绍的指针变量相同。 技术系
结束 首页 上页 下页 末页 节 9.3.1 指向数组元素的指针 一个数组是由连续的一块内存单元组成的。数组名就 是这块连续内存单元的首地址。一个数组也是由各个 数组元素(下标变量)组成的。每个数组元素按其类型 不同占有几个连续的内存单元。一个数组元素的首地 址也是指它所占有的几个内存单元的首地址。 定义一个指向数组元素的指针变量的方法,与以前 介绍的指针变量相同
c9.3.1指向数组元素的指针 A数组 语 1、元素赋值、取值 p,(2000) 程 +1.a+1 2 a[] 如:inta10,p; p=a, 2a+2 3 a[2 p+3,a+3 a[3] 设 相当于a[0]=1 让1、各元素地址(用上定义)指针 精p增一便指向下一单元。所以 p+l, a a[ 1] 指向a[o] 课o+ 指向a[] 荆程 7a+7 p+2指向a[2] p+8a+8 890 a[8] p+9,a 2000 术p+ 指向a[ p+9指向a[9] 技术系
结束 首页 上页 下页 末页 节 1、 元素赋值、取值 如: int a[10],*p; p=a; *p=1; 相当于 a[0]=1; 1、各元素地址 (用上定义) 指针 p 增一便指向下一单元。 所以 p 指向 a[0] p+1 指向 a[1] p+2 指向 a[2] : p+i 指向 a[i] : p+9 指向 a[9] a[0] a[1] a[2] a[3] a[ i] a[7] a[8] a[9] p p, ( 2000) p+1,a+1 p+2,a+2 p+3,a+3 p+i,a+i p+7,a+7 p+8,a+8 p+9,a+9 1 2 3 4 8 9 0 2000 9.3.1 指向数组元素的指针 A数组
C 语 93.1指向数组元素的指针 程由于有:P,因此Pa,p+i与a+i等价 设计精品课 所以有 指向a0通过地址应用 a+1指向a[l a+2指向a2 荆程 如ai]在这里变址的值为 a+i指向alil a+9指向a9 技术系
结束 首页 上页 下页 末页 节 9.3.1 指向数组元素的指针 2、引用元素 直接引用 a[0]=1; a[i ]=6; 通过地址应用 如:*p=1; ….. *(p+i)=6; 或者 *a=1; ….. *(a+i)=6; “ [ ]” 实际是变址运算符。 如a[i ]在这里变址的值为 i*2,“2” 是整型数据占两个字节。 由于有: p=a,因此 p==a, p+i 与 a+i 等价 所以有: a 指向 a[0] a+1 指向 a[1] a+2 指向 a[2] : a+i 指向 a[i] : a+9 指向 a[9]
C 语言程亠 93.2通过指针引用数组元素 设3、指向数组的指针变量也可带下标 计如:pl与*(p+i)等价。 精若p=a;则pi与a等价。 课总结:用指针访问数组的一般形式 荆程 对下标为i的元素访问: a[i],*(a+i),*(p+i),p[i] 对a[i]的地址表示: &alil, ati, p+i, &pli] 技术系
结束 首页 上页 下页 末页 节 3、指向数组的指针变量也可带下标 如: p[ i] 与 *(p+i) 等价。 若 p=a; 则 p[ i] 与 a[i ] 等价。 总结:用指针访问数组的一般形式 对下标为i的元素访问: a[i],*(a+i),*(p+i),p[i] 对a[i]的地址表示: &a[i],a+i,p+i,&p[i] 9.3.2 通过指针引用数组元素