下载
第6章 指
针
指针是C语言的精华部分,通过利用指针,我们能很好地利用内存资源,使其发挥最大的 效率.有了指针技术,我们可以描述复杂的数据结构,对字符串的处理可以更灵活,对数组 的处理更方便,使程序的书写简洁,高效,清爽.但由于指针对初学者来说,难于理解和掌 握,需要一定的计算机硬件的知识做基础,这就需要多做多练,多上机动手,才能在实践中 尽快掌握,成为 C的高手.
6.1 指针与指针变量
过去,我们在编程中定义或说明变量,编译系 统就为已定义的变量分配相应的内存单元,也就是 说,每个变量在内存会有固定的位置,有具体的地 址.由于变量的数据类型不同,它所占的内存单元 数也不相同.若我们在程序中做定义为:
int a=1, b=2; float x=3.4, y=4.5; double m=3.124; char ch1='a', ch2='b';
2008 4.5 变量y 2000 2002 2004 1 2 3.4 变量a 变量b 变量x
让我们先看一下编译系统是怎样为变量分配内 存的.变量 a , b是整型变量,在内存各占 2个字节; x , y是实型,各占 4个字节; m是双精度实型,占 8个 字节; c h 1 , c h 2是字符型,各占 1个字节.由于计算 机内存是按字节编址的,设变量的存放从内存 2 0 0 0 单元开始存放,则编译系统对变量在内存的安放情 况为图6-1所示. 变量在内存中按照数据类型的不同,占内存的
3.124 2012 2020 2021 a b
变量m
变量ch1 变量ch2
图6-1 不同数据类型的变量在内存中 占用的空间
大小也不同,都有具体的内存单元地址,如变量 a 在内存的地址是 2 0 0 0,占据两个字节后, 变量 b的内存地址就为 2 0 0 2 ,变量 m的内存地址为 2 0 1 2等.对内存中变量的访问,过去用 scanf("%d%d%f",&a,&b,&x) 表示将数据输入变量的地址所指示的内存单元.那么,访问变量, 首先应找到其在内存的地址,或者说,一个地址唯一指向一个内存变量,我们称这个地址为 变量的指针.如果将变量的地址保存在内存的特定区域,用变量来存放这些地址,这样的变 量就是指针变量,通过指针对所指向变量的访问,也就是一种对变量的"间接访问" . 设一组指针变量 p a,p b,p x,p y,p m,p c h 1,p c h 2,分别指向上述的变量 a,b,x,y, m,ch1,ch2,指针变量也同样被存放在内存,二者的关系如图 6-2所示: 在图6 - 2中,左部所示的内存存放了指针变量的值,该值给出的是所指变量的地址,通过 该地址,就可以对右部描述的变量进行访问.如指针变量 p a的值为2 0 0 0,是变量 a在内存的地
92
C语言程序设计
下载
址.因此, pa就指向变量 a.变量的地址就是指针,存放指针的变量就是指针变量.
2000 1000 1002 1004 1006 1008 1010 1012 1014 1016 2020 2021 a b 变量ch1 变量ch2 2000 2002 2004 2008 2012 2020 2021 pa pb px py pm 2008 pch1 pch2 2012 3.124 4.5 变量y 2002 2 3.4 变量b 变量x 1 变量a
2004
变量m
图6-2 指针变量与变量在内存中的关系
6.2 指针变量的定义与引用
6.2.1 指针变量的定义 在C程序中,存放地址的指针变量需专门定义;
int *ptr1; float *ptr2; char *ptr3;
表示定义了三个指针变量 p t r 1,p t r 2,p t r 3.p t r 1可以指向一个整型变量, p t r 2可以指向一 个实型变量, ptr3可以指向一个字符型变量,换句话说, ptr1,ptr2,ptr3可以分别存放整型变 量的地址,实型变量的地址,字符型变量的地址. 定义了指针变量,我们才可以写入指向某种数据类型的变量的地址,或者说是为指针变 量赋初值:
int *ptr1,m= 3; float *ptr2, f=4.5; char *ptr3, ch='a'; ptr1=&m; ptr2=&f; ptr3=&ch;
上述赋值语句 p t r 1 = & m表示将变量m的地址赋给指针变量 p t r 1,此时 p t r 1就指向m.三条 赋值语句产生的效果是 ptr1指向m;ptr2指向f;ptr3指向ch .用示意图 6-3描述如下:
- c语言指针难 > 指针是C语言的精华部分
-
指针是C语言的精华部分
下载该文档 文档格式:PDF 更新时间:2000-12-07 下载次数:0 点击次数:1文档基本属性 文档语言: 文档格式: PDF 文档作者: 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:指针是C语言的精华部分
下一篇:指针是C语言中广泛使用的一种数据类型运用指针编程是C...
点击查看更多关于c语言指针难的相关文档
- 您可能感兴趣的
- c语言指针 c语言指针视频教程 c语言指针函数编程题 c语言数组与指针 c语言指针的用法 c语言指针视频 c语言答案指针 c语言指针讲解 c语言指针教程
- 大家在找
-
- · 抚顺煤炭工业学校
- · 洛阳龙门石窟门票
- · 财税200959号
- · 湖北恩施考驾照
- · 驾照理论考试速成下载
- · autocad2004迅雷下载
- · 变频器节能应用论文
- · 小学语文远程教育论文
- · 天天向上20110429
- · 求购仪表车床加工
- · 视觉型听觉型
- · 变形金刚12高清下载
- · 郑州升达经贸学院
- · 马铃薯分选设备
- · 感恩老师主题班会教案
- · 小班体育游戏活动教案
- · 比亚迪老板开什么车
- · 治疗脑瘫症状的专家
- · 笔记本光驱驱动
- · ecl锁存器芯片
- · 比亚迪s6异响
- · 八年级上册英语书预习
- · 维修电动机培训视频
- · 二战飞行模拟游戏下载
- · 免费dj网站
- · 儿科个案护理论文
- · 冲模标准件样本
- · 茂名百姓网二手车买卖
- · 免费ppt课件模板
- · pleasebemybaby
- 赞助商链接