- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]10 第6章 数组与指针— 指针
指 针
6.2 指针的概念
6.3 指针与数组
6.4 字符串的指针
*6.5 指针数组和指向指针的指针
6.2 指针的概念
6.2.1 地址与指针的概念
6.2.2 指针的定义、初始化与引用
6.2.1 指 针 概 述
指针是一种数据类型
所谓指针,就是存放数据的内存地址
指针变量是一种变量,该变量中存放的数据就是指针类型
的数据
对一个变量或数组元素来说,可以通过变量名或数组名
标]来引用,也可以通过指针变量来引用,但需要事先将指
针变量“指向”变量或数组,所谓“指向”就是将变量或数组
地址存放到指针变量中
1、内存单元和地址
内部存储器是由多个内存单元组成的,每个内存单元
有自己独有的地址,称为内存单元地址
2 、变量与地址
程序中可以用变量来存放各种数据,因此每个变量都
需要分配连续的内存单元
由于数据类型的不同,每个变量需要分配的内存单元
数目也不同
2 、变量与地址
当一个变量只占用一个内存单元时,内存单元的地址
就是变量的地址
当变量占用连续的若干个内存单元时,最前面一个单
元的地址就是该变量的地址
2 、变量与地址
例如,int i =3, j=5 ;
float f ;
分配的内存单元如图1所示
记录下来的变量与地址对照表如图2所
2001
2002 3 整型变量i 变量与地址对照表
2003
5 整型变量j 变量名 数据类型 地址
2004
2005 i 整型 2001
2006 j 整型 2003
2007 单精度变量f f 单精度 2005
2008
图
图1
2 、变量与地址
通过变量名查取变量的地址,再从变量对应地址的内
单元中取得值或将某值存入变量对应地址的内存单元中称
直接寻址(访问)方式
3 、数组与地址
对一个数组来说,所分配的内存单元必须是连续的,并
且按顺序与数组元素对应
每个数组元素也要占用连续的内存单元。数组类型不
同,每个数组元素占用的内存单元数也不同
数组占用的总单元数= 数组长度×每个数组元素占用
的内存单元数
3 、数组与地址
当一个数组元素只占用一个内存单元时,内存单元的地
址就是该数组元素的地址
当数组元素占用若干个连续的内存单元时,最前面一个
单元的地址就是该数组元素的地址
当一个数组占用连续的若干个内存单元时,最前面的单
元地址称为数组的首地址,也是第一个数组元素的地址
3 、数组与地址
每个数组元素的地址可以通过下列公式求得:
数组元素a[i]的地址=数组首地址+i ×数组元素的数据类
所占用单元数
对源程序进行编译时,每遇到一个数组,按其类型和
度分配内存单元,同时记录数组名、数据类型、数组长度、
数组首地址。
3 、数组与地址
例如:有一条定义语句“int a[3]={1,2,3};”
文档评论(0)