C++程序设计:理解一维数组指针变量

需积分: 0 0 下载量 35 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"指向由m个整数组成的一维数组的指针变量-C++程序设计 谭浩强" 在C++程序设计中,指针是编程中的一个重要概念,特别是对于理解和操纵内存有着至关重要的作用。标题提到的“指向由m个整数组成的一维数组的指针变量”涉及到了C++中的指针和数组的结合使用。 在C++中,`int (*p)[m]`定义了一个指针变量`p`,它指向一个包含m个整数的数组。这里的`*`表示指针,`[]`表示数组,`()`用于优先运算,所以`(*p)`整体代表的是一个数组的首地址,即该指针指向一个数组的第一个元素。这个声明意味着`p`可以用来存储一维数组的起始地址。 例如,如果有一个声明`int a[4]`,那么`a`是一个包含4个整数的数组。这里的`a`实际上就是数组首元素的地址,相当于`&a[0]`。当我们将指针`p`赋值为`a`时,即`p = a;`,`p`现在指向数组`a`的起始位置。 对于指针增加操作,`p+1`会将指针移动到下一个数组元素的位置,但由于`p`是一个指向数组的指针,因此每次`p+1`实际上是向前移动整个数组的大小,即`m`个整数的大小。如果`m`是4,且每个整数占用4个字节,那么`p+1`会移动16个字节,因为`4(个整数) * 4(字节/整数)= 16(字节)`。这与`a+1`的行为不同,`a+1`仅移动一个整数的大小,即4个字节,因为它是一个指向单个整数的指针。 C++的发展历程在描述中被提及,C++是在C语言的基础上发展起来的,增加了面向对象的特性。C语言以其简洁、高效和高度的灵活性而闻名,适用于各种规模的程序开发,同时具备高级语言和低级语言的特性。它的可移植性使得在不同计算机平台上的代码重用成为可能。 C语言的特点包括结构化编程、丰富的运算符(包括位运算)、强大的数据结构支持以及较好的程序可移植性。然而,由于其语法结构相对宽松,对于初学者来说,编写和调试程序可能会遇到挑战。理解C++的指针和数组操作是成为熟练程序员的关键步骤之一,尽管这需要时间和实践来掌握。