第17章 灵活却难以理解——指针进阶.pptVIP

  • 0
  • 0
  • 约4.08千字
  • 约 21页
  • 2016-09-14 发布于山西
  • 举报

第17章 灵活却难以理解——指针进阶.ppt

第17章 灵活却难以理解——指针进阶

第17章 灵活却难以理解——指针进阶 前面章节中,读者已经领会到了指针的强大功用,可实际上,指针所能做的不仅仅是向函数传递变量的地址,本章将讨论一些指针进阶的知识,套用一句曾经很流行的话:欢迎走进内存这片雷区。 17.1 指针与数组 在字符串处理一章中已经介绍过“数组名指针”的概念,可以将数组名作为指针参数传递给函数,本节将深入讲述数组名指针、数组元素的表示形式,指针数组等内容。 17.1.1 数组名指针 从字符串一章中,可归纳出以下结论: 数组名是一种常指针(不能修改),其值等于数组占据内存单元的首地址,但其类型取决于数组的维数。 对三维数组A而言,有下面关系成立: A=A[0]; A+1=A[1]; … A[0]=A[0][0]; A[0]+1=(A[1][0]); … A[0][0]=A[0][0][0]; A[0][0]+1=A[0][0][1]; … 17.1.2 使用数组名常指针表示数组元素 数组与指针关系密切,数组元素除了可以使用下标来访问,还可用指针形式表示。数组元素可以很方便地用数组名常指针来表示,以3维int型数组A举例,其中的元素A[i][j][k]可用下述形式表示: (1)*(A[i][j]+k) A[i][j]是int型指针,其值为A[i][j][0],因此,A[i][j][k]可表述为*(A[i][j]+k)。 (2)*(*(A[i]+j)+k)

文档评论(0)

1亿VIP精品文档

相关文档