- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 指针(第19次课)
8.2.4 指针变量作为函数参数(例8.3) 8.2.4 指针变量作为函数参数(例8.3) 8.2.4 指针变量作为函数参数(例8.3) 8.2.4 指针变量作为函数参数(例8.3) #include stdio.h void main( ) { int a[10]; int i; for(i=0; i10; i++) scanf(%d,a[i]); printf(\n); for(i=0; i10; i++) printf(%d , ); } 8.3.1 指向数组元素的指针 8.3.2 通过指针引用数组元素 回顾数组 P230 对数组的简单回顾(一维数组为例) 例 int a[6]; 1. 定义了一个名为a的一维数组; 2.数组元素分别是: a[0] ,a[1], a[2], a[3], a[4], a[5] 6个整型变量; 例 int a[6]; 说明: (1)同一个数组的元素在内存中是连续、顺序地存储的。整个数组有一个首地址。 (2)每个数组元素都在内存中占有存储单元,它们都有相应的地址。 a[0] a[1] a[2] a[3] a[4] a[5] a[0] a[1] a[2] a[3] a[4] a[5] 内存分配情况 a 数组的指针 数组元素的指针 8.3.1 指向数组元素的指针 int a[6]; int *p; p=a[2]; 说明 数组元素的指针─ p a[0] a[1] a[2] a[3] a[4] a[5] 内存分配情况 a p (1)指针变量的基类型必须与数组类型 。 (2)指针变量p可以指向数组中任意元素。 一致 数组元素的地址,如a[i]。 p=a[0]; p为指向数组元素的指针变量 p=a[0]; p= ; 是等价的。 C语言规定1: 代表数组中首元素的地址,即整个数组的首地址。 P230 a a[0] 即: 数组名 a 等价于: 8.3.2 通过指针引用数组元素: 举例: int a[6],*p; p=a[2]; 通过指针p引用了它所指向的数组元素a[2]。 即:*p p a a[0] a[1] a[2] a[3] a[4] a[5] 内存分配情况 10 a[2]=10; *p=10; /*直接访问方式*/ /*间接访问方式*/ a[2] *运算符 *说明符 a+1就是 的地址(指针),a+2就是 的地址(指针) ,…… C语言规定2:如果指针变量p已经指向了数组中的某个元素,则p+1 。 a p a[0] a[1] a[2] a[3] a[4] a[5] 内存分配情况 q=p+1; q=p+1 /* q指向a[3]; */ int a[6],*p=a[2],*q; 例如: 因为 a是数组首元素a[0]的地址(指针) 同一数组中的 元素的地址 a[1] a[i] 下一个 所以 a[2] a+i就是 的地址(指针)。 a[i] *(a+i) a[3] *q P231 综述: 假设有数组a和指针变量p,且 p=a; 成立,则: a[i] *(p+i) *(a+i) 下标法 指针变量+位移量 数组名+位移量 p[i] 指针变量的下标形式 引用数组元素的方法:P233 下标法 和 指针法 void main() { int a[10],i; for(i=0;i10;i++) =i*i; /*下标法*/ ……} void main() { int a[10],i; for(i=0;i10;i++) =i*i; /*指针法*/ ……} *(a+i) void main() { int a[10],*p=a,i; for(i=0;i10;i++) =i*i; /*指针法*/ ……} *(p+i) void main() { int a[10],i,*p=a; for(i=0;i10;i++) =i*i; /*下标法*/ ……} a[i] p[i] a[0] a[1] a[8] a[9] a p p void main() { int a[10],*p; for( ; ; ) scanf(%d, p); ……} pa+10 p=a p a+9 利用“指针的移
您可能关注的文档
- 第7章 公债理论.ppt
- 第7章 女性与婚姻家庭.ppt
- 第6课雅典民主政治牛焕礼.ppt
- 第6课:二战的转折.ppt
- 第7章 临床医学研究设计的基本原则.ppt
- 第7章 国际融资担保制度.ppt
- 第7章 压缩模设计.ppt
- 第7章 明确目标市场(张玉利,创业管理,第四版).ppt
- 第7章 宏观经济学 复习总结及课后答案.ppt
- 第7章 氧化还原-水质处理-课件-教学-本科.ppt
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)