C语言学习-指针.pdfVIP

  • 8
  • 0
  • 约4.2万字
  • 约 16页
  • 2015-10-01 发布于河南
  • 举报
C语言学习-指针.pdf

程序执行中数据存于内存。在可用期间数据有确定存 储位置,占据一些存储单元。 内存单元的编号:地址。机器语言通过地址访问数据。 高级语言用变量等作为存储单元/地址的抽象。 第七章 指针 建立变量就是安排存储。赋值时存入,用值时从中提取。 外部变量/静态变量有全局存在期,程序执行前安排存储 位置,保持到程序结束。自动变量在函数调用时安排存 储,至函数结束。再调用时重新安排存储。 变量存在期就是它占据所安排存储的期间。任何变量在 存在期间总有确定存储位置,有固定的地址。 寄存器变量可能放在寄存器,无地址。本章不考虑寄存器变量。 变量存在时有地址,地址用二进制编码,因此可能成为 指针保存着变量x地址,也说指针指向x。示意图: 程序处理的数据。问题:地址作为数据有什么用? 指针变量p 若程序可以处理对象地址,就可通过地址处理相关对象。 变量x 对象(如变量)地址也被作为数据,地址值/指针值。 以地址为值的变量称为指针变量/指针(pointer) 。 图7.1 指针与被指的变量 指针是一种访问其他对象的手段,利用这种机制能更灵 指针可赋值,其指向在执行中可变。p某时指x,后可能 活方便地实施对各种对象的操作。 指向y。这样,通过p访问被指对象的语句,前次访问x, 后来就访问y。这种新灵活性很有用。 主要操作 C中用指针常能写出更简洁有效的程序。有些问题必须 • 指针赋值:将程序对象的地址存入指针变量。 用指针处理。指针在大型复杂软件中使用广泛。指针使 • 间接访问:通过指针访问被指对象。 用的水平是评价人的C程序设计能力的重要方面。 指针还能保存其他对象的地址。下面讨论以变量为例。 C指针灵活/功能强。掌握有难度,易用错,应特别注意。 应特别注意使用指针的常见错误,注意! 7.2 指针变量的定义和使用 指针操作 取地址运算符 和间接访问操作用*。一元运算符。 指针有类型,只能保存特定类型的变量的地址。 指向int的指针p只能指向int变量。p所指也看作int, 取地址运算 从p间接访问当作int。常说int指针p1等。 写在变量描述(如变量名)前取得变量地址,是对应 定义指针需指明指向类型。定义指向int的指针变量: 类型的指针值,可赋给类型合适的指针。例:   int *p, *q; p = n; q = p; p1 = a[1]; 指针变量可以与其他变量一起定义: 指针变量p   int *p, n, a[10], *q, *

文档评论(0)

1亿VIP精品文档

相关文档