程序设计_1213第七章结构.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序设计》多媒体教程 第十三讲 第四章小结 数组和指针的关系 一、一维数组和二维数组 ※一维数组元素的表达形式 如有以下定义: int a[N], b[R][C]; 其中,N=R*C,N、R、C 均为常数。 对于一维数组 a,可以用下标法 a[k]和a[k]表示数组 a[N]中的第 k 个元素的数值及其地 址,或者指针法*(a+k)和 a+k 表示数组 a[N]中的第 k 个元素的数值及其地址。即有 含义 下标法表示 指针法表示 第 k 个元素的数值 a[k] *(a+k) 第 k 个元素的地址 a[k] a+k 组名 a 是常量,因此不得用任何方法改变 a 的值,也不能执行a++等指针操作。 当 k=0 时,可以将*(a+0)简写为*a,将 a+0 简写为 a,分别表示第 0 个元素的值和地址。 但是,*a 没有实际含义。 因此,通常认为a 既表示数组 a 的首地址,又等于第 0 个元素 a[0]的地址。 ※二维数组元素的表达形式 对于二维数组 b,可以用下标法 b[r][c]和b[r][c]分别表示数组 b[R][C]中的第 r 行第 c 列 元素的数值及其地址。 或者用指针法*(*(b+r)+c)和*(b+r)+c 表示第 r 行第 c 列元素的数值及其地址。 还可以使用混合法*(b[r]+c)和 b[r]+c 来表示,虽然混合法是不常用的。 以下表格列出了二维数组元素的所有表达形式,其中粗体字是推荐使用的表达形式。 当 r=0 或者 c=0 时,指针法表示可以使用各种简写形式。但是,解释简写形式没有实 际含义,而应该按照指针法的基本表达形式*(*(b+r)+c)解释其含义。 含义 下标法表示 指针法表示 混合法表示 第 r 行第 c 列元素的数值 b[r][c] *(*(b+r)+c) *(b[r]+c) 第 0 行第 c 列元素的数值 b[0][c] *(*(b+0)+c) *(b[0]+c) 简写形式 *(*b+c) 第 r 行第 0 列元素的数值 b[r][0] *(*(b+r)+0) *(b[r]+0) 简写形式 *(*(b+r)),**(b+r) *b[r] 第 0 行第 0 列元素的数值 b[0][0] *(*(b+0)+0) *(b[0]+0) 简写形式 *(*(b+0)), **(b+0), **b *b[0] 第 r 行第 c 列元素的地址 b[r][c] *(b+r)+c b[r]+c 第 0 行第 c 列元素的地址 b[0][c] *(b+0)+c b[0]+c 简写形式 *b+c 第 r 行第 0 列元素的地址 b[r][0] *(b+r)+0 b[r]+0 简写形式=第 r 行的行地址 b[r] *(b+r) 第 0 行第 0 列元素的地址 b[0][0] *(b+0)+0 b[0]+0 简写形式=第 0 行的行地

文档评论(0)

zzqky + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档