指针与数组分析和总结.docxVIP

  • 6
  • 0
  • 约2.17千字
  • 约 3页
  • 2023-04-27 发布于上海
  • 举报
指针与数组 在 C 语言中,指针和数组之间的关系十分密切,因此,在接下来的部分中,我们将同时讨论指针与数组。通过数组下标所能完成的任何操作都可以通过指针来实现。一般来说,用指针编写的程序比用数组下标编写的程序执行速度快,但另一方面,用指针实现的程序理解起来稍微困难一些。 声明 int a[10]; 定义了一个长度为10的数组a。换句话说,它定义了一个由10个对象组成的集合,这10 个对象存储在相邻的内存区域中,名字分别为a[0]、a[1]、?、a[9](参见图5-3)。 图5-3 a[i]表示该数组的第i个元素。如果pa的声明为int *pa; 则说明它是一个指向整型对象的指针,那么,赋值语句 pa = a[0]; 则可以将指针pa指向数组a的第0 个元素,也就是说,pa的值为数组元素a[0]的地址(参见图5-4)。 图5-4 这样,赋值语句 x = *pa; 将把数组元素a[0]中的内容复制到变量x中。 如果pa 指向数组中的某个特定元素,那么,根据指针运算的定义,pa+1 将指向下一个元素,pa+i 将指向pa 所指向数组元素之后的第i 个元素,而pa-i 将指向pa 所指向数组 元素之前的第i 个元素。因此,如果指针pa 指向a[0],那么*(pa+1)引用的是数组元素a[1]的内容,pa+i是数组元素a[i]的地址,*(pa+i)引用的是数组元素a[i]的内容(参见

文档评论(0)

1亿VIP精品文档

相关文档