C++程序设计:通过指针操作数组

需积分: 9 4 下载量 90 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"通过指针引用数组元素是C++编程中的一个重要概念,本文摘自谭浩强的《C++程序设计》。文章介绍了如何通过指针来访问和修改数组的各个元素,以及指针和数组之间的关系。" 在C++中,数组是一种存储多个相同类型数据的集合,而指针则是一个变量,它存储了一个内存地址,这个地址指向一个数据对象。当我们将数组的首地址赋值给指针变量,就可以通过指针来访问和修改数组的元素。 例如,声明一个整型数组`int a[10]`,然后定义一个整型指针`int *p=a`,这将使指针`p`指向数组`a`的第一个元素。此时,`*p`和`a[0]`是等价的,都可以用来访问或修改第一个元素。在代码中,`*p=1`和`a[0]=1`都用于将数组的第一个元素设置为1。 C++规定,当使用`p+1`时,它将指向数组的下一个元素,而不是简单的增加一个字节。因此,`*(p+1)=2`和`a[1]=2`都表示将数组的第二个元素设置为2。这里,`*++p=2`意味着先将指针`p`前移一位,然后解引用`p`赋值2,这也相当于`p=p+1; *p=2`。 指针变量不仅可以用来访问数组元素,还可以被重新赋值。在示例中,`p=2004H`将指针`p`的值更改为一个新的地址。这个地址在图示中呈现了一种线性的内存布局,从`2000H`开始,每增加4个字节代表移动到下一个数组元素,直到`a[9]`对应的`2024H`。 C++程序设计语言,起源于C语言,由Dennis Ritchie和Brian Kernighan等人发展和完善。C++在其基础上增加了面向对象特性,如类、对象、继承、多态等,使得程序设计更加灵活和强大。C++语言的特点包括结构化、高效的代码执行、良好的可移植性以及丰富的运算符支持,包括位运算,这使得C++既能处理底层的系统编程,也能胜任复杂的高级应用开发。 学习C++时,理解指针与数组的关系至关重要,因为它们是C++实现高效内存操作的关键。尽管C++的语法较为自由,对于初学者来说可能有一定难度,但只要深入理解其规则,调试和编写高质量的程序就会变得相对容易。