- 6
- 0
- 约9.34千字
- 约 74页
- 2017-06-30 发布于江苏
- 举报
第6章2(C语言基础PPT)
3. 关于指针的运算 ? p++ / p – – 的作用: 指针运算符 ?与++, – –同级,且自右至左。 而 p– –相当于p=p –1,即指向a[4] 若有:int a[10] ,*p; p=a[5]; 则:p++相当于p=p+1, 即指向a[6] ? (?p)++ 或(?p) – – (?p)++:将p指向的变量的值自增1; (?p) – –: 将p指向的变量的值自减1。 ?p++相当于?(p++) (结合方向:自右向左) 若p=a[0], 则*(p++)取出a[0]的值; ?(++p):首先使p?p+1, p指向a[1], ?(++p)取出a[1]的值。 ? ?p++与?(++p)的含义 例: #include stdio.h main( ) { int a[5]={11, 22, 33, 44, 55}, *p; p=a[0]; printf(*p++=%d\n, *p++); printf(*p=%d\n, *p); printf((*p)++=%d\n, (*p)++); printf(*p=%d\n, *p); } 运行结果: *p++=11 *p=22 (*p)++=22 *p=23 取出a[0]的值 指向a[1]的值 先取a[1]的值 使a[1]的值增加1 当实、形参均为数组名时,调用时将实参数组首地址传递(单向)给形参数组,使它们共享内存。 例:编写函数,将数组各元素值取反。 二、数组名作函数参数 #includestdio.h void invert(x, n ); main ( ) { int i, a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10} invert(a, 10); for (i=0; i10; i++) { if i%4==0 printf(\n) printf(a[%d]=%d, ,i, a[i]); }} void invert(int x[ ], int n) { int i; for (i=0; in; i++) x[i]= –x[i]; return; } 运行结果: a[0]= ?1, a[1]= ?2, a[3]= ?3, a[4]= ?4, a[5]= ?5, a[6]= ?6, a[7]= ?7, a[8]= ?8, a[9]= ?9, a[10]= ?10, 分析参数传递情况: 即:x, a共享同一段内存单元。 前面已分析: 可用指针表示数组。即:指针运算引用数组元素,于是,可用指针变量作为形参接收实参数组首地址。 a[10]: a[0] a[1] a[2] … … … … … … a[9] a x ‖ x[0] ‖ x[1] … … … … … … ‖ x[9] 实参 形参 函数改为: void invert (int ?x, n) { int ?i; for (i=x; i(x+n) ;i++) ?i= – ?i return; } 参数传递情况: a[0] a[1] a[2] … … a[9] a: x x+1 x+9 ? x ?(x+1) ?(x+9) … 注意:在主函数中也不一定要用数组名a,只要用一指针变量即可。设int ?p; p=a[0], 则: invert(p, n); 即可完成同样功能 总结以上情况,有四种参数传递形式: 特别需要指出的是:上面四种传递形式实质上是实现了实、形参共用内存单元。 (1) 实参、形参均为数组名 (2) 实参为数组名、形参为指针变量 (3) 实参、形参均为指针变量 (4) 实参为指针变量,形参为数组名。 1. 多维数组的地址: 将一维数组内容扩充,也可用一指针变量指向多维数组,以二维数组为例。 设: static int a[3][4] = {{1, 2, 3, 4}, { 5, 6,7, 8}, {9, 10, 11, 12}}; 三、指向多维数组的指针和指针变量 12 1 2 3 4 5 6 7 8 9 10 11 第1行 第2行 第3行 a[0]:a[1]:a[2]: a[0] a[0]+1 a[0]+2 a[0]+3 a[1] a[1]+1 a[1]+2 a[1]+3 a[2] a[2]+1 a[2]+2 a[2]+3 数组名a[0] 数组名a[1] 数组名a[2] a a+1 a+2 可把数组a看成
您可能关注的文档
- 电工培训-电磁的基本知识.docx
- 电流磁感应 3.ppt
- 电脑磁记录簿市场前景预测及投资规划分析报告(目录).doc
- 白云二高张君.ppt
- 省略句g1.ppt
- 磁化水器外壳市场前景预测及投资规划分析报告(目录).doc
- 磁感应强(人教版).ppt
- 磁感应与磁现象.docx
- 磁带机讲课.ppt
- 磁铁矿产品市场前景预测及投资规划分析报告(目录).doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025统编版小学道德与法治三年级下册教学计划、教学设计附教学反思(附目录).docx
- 2026年廉政答案考试题库(考试直接用).docx VIP
- 虚列费用培训课件.ppt VIP
- Z20名校联盟(浙江省名校新高考研究联盟)2026届高三第二次联考日语含答案.doc VIP
- 煤矿2026年机电工作计划方案.docx VIP
- 企业合规法律服务指引(湖北省律师协会法律顾问专委会).pdf VIP
- Qu系列说明书QU16&QU24(加强版).pdf VIP
- 数学与生活:一元二次方程的起源.pptx VIP
- 事业单位d类综合应用能力必背知识点.pdf VIP
- (课堂用)TheFutureoftheEnglish(课件.ppt VIP
原创力文档

文档评论(0)