- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计(第6章).ppt
莆田学院计算机教研室 2003年5月 第六章 指针 计算机基础教研室 本章主要内容 指针概述 地址· 指针· 指针变量 多重指针 指针变量作为函数参数 指针与数组 数组、指针与函数调用 行指针 指针数组 带参数的主函数 指针与函数 指向函数的指针变量 返回指针值的函数 教学目的与要求 了解指针与地址的概念 了解指针与函数的概念 掌握指针变量的定义、初始化及指针的运算 掌握指针与数组、指针数组、二级指针等知识 掌握指针作为函数参数的应用 重点与难点 指针与地址的概念 指针与变量的关系 指针与数组 指针与字符串 指针数组与二级指针 指针的应用 一、指针概述 1.地址(address) P201 如果在程序中定义了一个“实体”(变量、数组、函数 ……),编译时系统就要给这些实体分配内存单元。 分配规则: 什么是内存单元“地址”? 内存单元是以字节为单位,每个字节都有一个编号(即“地址”)。如果将内存比作一个旅馆,内存单元就好比“床位”,而实体则好比“旅客”。这些“旅客”(实体)中,有单人型(char)、夫妇型(int)、家庭型(float,long,double等),还有团体型(数组等)。每个“实体”占用的内存单元是不同的。如: char a;int b;float c;int d[3];int max( ) 内存单元与地址 如何表示实体地址? 实体地址表示法1:直接访问(实体名) 普通变量a,b,c —— a,b,c 数组d[3] —— d(数组名), d[0],d[1],d[2] 对二维数组,可用单下标法表示每行首地址。 如 对char x[3][4],可用x[0]、x[1]、x[2]分别表示其第 一、二、三行的首地址。 函数max( ) —— max(函数名) “入口地址” 取地址运算符(适用于普通变量或数组元素) 实体地址表示法2:间接访问(指针) 适合于地址运算(加减等) 2.指针(pointer) 实体地址的一种表示法(便于编程处理)。 指针是一种特殊的数据类型——存放的是某个实体的地址值。 3.指针变量 P202 存放“指针”(地址值)的特殊变量。 定义方法: 类型标识符 *变量名 如 int *a; char *b; float *c; 为什么要使用指针变量? C程序中访问(读写)变量有两种方式: 直接访问 (按名单预留的座位入座) 利用实体名访问变量。访问变量的过程—— 变量(实体)名→定义时分配的地址→变量值 好比“先坐再买票”看电影:来一个观众,分配一个空位给他去坐,并且还要在纸上记一个某人坐在哪里。这种方式对用户来说很方便(“直接就座”),但对系统来说,“找某人”就极不方便(间接:查名字→座号)。 间接访问 (先买票,后按号入座) 把变量地址先存放在“指针”中,再通过“指针”访问变量。 好比先买票(票—指针,座号—地址),再“按号入座”看电影。这种方式对用户来说属于“间接就座”,便对系统查找来说就很直接,且便于处理。尤其对于数组(团体),可通过指针简单自加或自减,对整个数组进行处理。 指针变量——不要谈”指”色变 指针是C语言学习中的一大难点。 难——难在概念。 首先——搞定*p 请看以下变量声明语句 int a,*p1; char b,*p2; a,b 普通变量(存放某个数值或字符) p1,p2 指针变量(存放某个实体的地址) 注意——不同的*p 以下程序中哪些语句是错误的? main() { int a,*p; a=3; p=3; /*或者 p=a;*/ p=a; *p=a; /*或者*p=3*/ } 有关*p的小结 变量声明时,*p表示定义了一个用来存放变量地址而非数据(数值、字符等)的指针变量。 程序中引用时,*p表示取指针变量p所指变量的值。 *p——并非就这么简单 *p的含义与p所指的对象有关 如果p被定义成指向普通变量的指针变量,则*p代表该变量的值。 如 int *p,a=5; p=a; 则*p代表变量a的值(5)。 如果p被定义成指向某个数组的指针变量,则*p代表该数组中某个元素的值。 如 int *p, a[3]={1,2,3}; p=a; 则*p代表
您可能关注的文档
- Complex networks and decentralized search algorithms.pdf
- computer and network systems.pdf
- Computer English Unit 8 Computer Network (计算机英语 第八单元 计算机网络).doc
- Computer Network 1.ppt
- Computer Network Review Guide.pdf
- Computer network virus and precautions.doc
- Computer Networking-ch7-review-NetworkSecurity.pdf
- Computer Networks – Introduction.pdf
- Computer Security Conference Ranking and Statictic.doc
- computer simulation model for design and management of re-circulating aquaculture systems.doc
- 甘肃省白银市会宁县第一中学2025届高三3月份第一次模拟考试化学试卷含解析.doc
- 2025届吉林市第一中学高考考前模拟生物试题含解析.doc
- 四川省三台县芦溪中学2025届高三下第一次测试生物试题含解析.doc
- 2025届江苏省启东市吕四中学高三适应性调研考试历史试题含解析.doc
- 浙江省宁波市十校2025届高三二诊模拟考试历史试卷含解析.doc
- 甘肃省甘南2025届高考生物必刷试卷含解析.doc
- 河北省石家庄市一中、唐山一中等“五个一”名校2025届高考历史四模试卷含解析.doc
- 江西省南昌市进贤一中2025届高考生物考前最后一卷预测卷含解析.doc
- 甘肃省白银市会宁县第四中学2025届高三第二次模拟考试历史试卷含解析.doc
- 宁夏银川市宁夏大学附属中学2025届高考化学押题试卷含解析.doc
最近下载
- 解码国家安全智慧树知到期末考试答案2024年.docx
- 话剧小品《一九四二》台词剧本完整版.docx
- 一种ZIF-90负载可切换超润湿性的聚丙烯腈膜及其制备方法和应用.pdf VIP
- EN 14363-2016+A1-2018铁路设施 — 铁路车辆运行特性的验收试验和模拟 — 运行性能试验和稳定性试验(中文版).doc
- 07并网逆变器现场检查测试记录表.doc
- (外科学课件)27-胆道疾病.ppt
- 对外汉语综合课课堂导入考察和分析_吴丽君.pdf
- DB32_T 3289-2017菊芋贮藏保鲜技术规程.docx
- 口腔颌面外科学口腔颌面外科检查及门诊病历书写【66页】.pptx
- 赵亚初三数学学法指导课件精典课件.ppt
文档评论(0)