- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言程序设计教程第六章指针
c语言程序设计教程第六章指针
本文由瓦斯202贡献
ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
第 6章 指 针
●指针基础 ●指针与数组 ●指针与函数
6.1 指针基础
6.1.1 指针就是地址 1. 程序实体的内存地址 一个程序一经编译,在其执行过程中, 一个程序一经编译,在其执行过程中, 就会为变量、数组以及函数分配存储空间。 就会为变量、数组以及函数分配存储空间。 这些变量、数组、函数都称为程序实体, 这些变量、数组、函数都称为程序实体, 也具有某一种数据类型。 也具有某一种数据类型。这些被分配了内 存空间的程序实体,都具有自己的内存地 存空间的程序实体, 址。
#include int main(void) { int i1,i2; float f1,f2; double d1,d2; printf(数据大小:int,%d;float,%d;double,%d\n, sizeof(i1),sizeof(f1),sizeof(d1)); /* 输出类型宽度 */ printf(%ld,%ld\n,i1,i2);/* 输出变量地址 */ printf(%ld,%ld\n,f1,f2); printf(%ld,%ld\n,d1,d2); return 0; }
解释: (1)变量存储空间的分类顺序:先声明的后分 配;撤销的顺序与之相反:先建立的后撤销。这种 机制就称为栈机制,好像往一个只能允许进出一个 盘子的桶里放盘子,先放进的后拿出。在C语言程序 中,局部变量就是被分配在栈区的,并且是以高端 为栈底建立的。所以后建的变量的地址小。 (2)每个变量只有一个地址,但占用的空间不 同。空间的大小因类型而异。同时,数据的存储方 式也不同,如实型数据采用浮点存储,而整型数采 用定点存储。
2. 指针的概念 从根本上说,目标程序是按照地址访 问这些程序实体的。C语言不仅提供了用变 量名访问内存数据的能力,还提供了直接 使用内存地址访问内存数据的能力。这个 内存地址就称为指针。它好像一个指路标 指向要访问的内存数据。
6.1.2 指针变量及其定义
1. 指针变量的概念 变量可以用来存放数值(如整数、实数等),也 可以用来存放地址(另一个变量的地址),这种专 门用于存储指针(地址)的变量就称为指针变量。 2. 指针变量的定义 在定义指针变量时,需要用指针声明符*表示 此变量不是一般的变量,而是用来存放其他变量 地址的指针变量。由于每一个变量都是属于一个 特定类型的,因此在定义指针变量时,需要声明 该变量的类型,以便能通过指针能正确访问特定 类型的数据。 定义一个指针的语法格式为: 基类型标识符 * 指针变量名;
6.1.2 指针变量及其定义
int * pi1,*pi2; double *pd1,*pd2; 说明: (1)“基类型”,就是指针要指向的数据的类型。 (2)定义指针变量时,在指针变量名前加符号 “*”。“*”称为指针声明符,用于说明它后面 的名字是一个指针变量名。例如语句: int i1,i2,*pi1,*pi2; 定义了两个数据变量i1和i2,还定义了两个指 向int类型的指针pi1和pi2。
3. 指针变量的初始化和赋值
和其他变量一样,指针变量也可以初始化。可以用变 量的地址对指针变量进行初始化,但必须注意:该变量的 类型必须和指针变量的基类型相同。也可以用一个指针变 量的值给另一个指针变量赋值,但它们应该具有相同的基 类型。例如: int i1,i2,i3; int *pi1=i1,*pi2=i2; pi1=i3; pi2=pi1; 注意,不要将一个变量的值赋给指向它的指针变量。 例如 pi1=i1;或pi2=i1; 都是错误的。应该是将变量的地址赋给指向它的指针 变量。如: pi1=i1;或pi2=i1;
6.1.3 指针变量的引用
1. 引用指针变量 当一个指针变量被初始化或被赋值后,它就 指向一个特定的变量。这时,就可以使用指针访 问它所指向的内存空间。在C语言中使用指针访 问它所指向的内存空间的方法是在指针变量名前 加一个“*”号。例如 int i,*pi; pi = i; *pi=5; 此处的“*”是“指针运算符”。又称为“间 接访问运算符”,它作用于指针变量。*pi表示指 针变量pi所指向的存储空间,即变量i。*pi相当于 变量i。
2. 使用指针变量需要注意的问题 (1)使用指针,首先应当区分指针变量与它所指向 的存储单元之间的不同。 #include int main(void) { int i1=10,i2=20,*p,
您可能关注的文档
- 002记录控制程序.doc
- 07-09还有2014年郑东真题.doc
- 08物流论文题目.doc
- 09职称英语(阅读理解).doc
- 10.1统计、统计案例及算法初步 用.doc
- 11级城轨车站行车工作复习题 客观题.doc
- 11级人力资源管理本科毕业论文选题.doc
- 2008年内蒙古自治区普通高校招生本科录取最低控制分数线公告.doc
- 2010 年 各批次控制分数线.doc
- 2009年高考高三数学文必考考点过关训练——算法初步、概率和统计.doc
- 某集团公司党委书记、董事长在2025年工作会议上的讲话.docx
- 机关单位党员干部深入贯彻中央八项规定精神学习教育发言材料.docx
- 在深入贯彻中央八项规定精神学习教育读书班上的总结讲话.docx
- 在中国移动分公司党委理论学习中心组2025年政府工作报告专题研讨会上的交流发言.docx
- 在银行党委理论学习中心组2025年政府工作报告专题学习研讨会上的发言材料.docx
- 2025年两会精神主题党课:领会两会精神,提升社会治理体系和治理能力现代化水平.docx
- 深入贯彻中央八项规定精神学习教育动员部署讲话.docx
- 关于农村集体三资管理使用情况专项巡察反馈意见整改进展情况的报告.docx
- 市委常务副秘书长专题学习2025年政府工作报告心得体会.docx
- 乡党委书记在深入贯彻中央八项规定精神学习教育工作部署会上的讲话.docx
最近下载
- 4M变更(导入)申请表 A.xls VIP
- 盛和资源(连云港)150万ta锆钛原料项目环评报告书.pdf
- 磁控管性能参数及测试五.ppt
- 弱电监理规划.pdf VIP
- 松江养老社区项目08-02地块项目总结.doc
- 酒店用品设备采购投标方案(技术方案).docx
- Dahua大华HDCVI产品HDCVI硬盘录像机SMB分销系列DH-HCVR7216A-V4 DH-HCVR7216A-V4_硬盘录像机_(HDCVI系列)_使用说明书_V2.3.1.pdf
- 2025年江西司法警官职业学院单招语文测试题库必威体育精装版.docx VIP
- 人口老龄化对老年人供养水平的影响.docx VIP
- 《伊索寓言》测试题附答案.docx VIP
文档评论(0)