C++教程:使用指针遍历输出数组元素

需积分: 23 0 下载量 153 浏览量 更新于2024-08-24 收藏 8.81MB PPT 举报
"C++教程 谭浩强:用指向数组的指针变量输出数组的全部元素" 在C++编程中,使用指向数组的指针变量来输出数组的所有元素是一种常见的操作。本教程以谭浩强教授的讲解为基础,探讨了如何通过指针实现这一功能。以下是关于这一主题的详细解释: 1. **指针和数组的关系**: C++中的数组实际上是一个内存连续的区域,数组名可以被看作是该区域的首地址,因此数组名在某些情况下可以被当作指针使用。例如,`int a[10]` 创建了一个包含10个整数的数组,`a` 是指向数组第一个元素的指针。 2. **声明指针变量**: `int *p;` 声明了一个整型指针变量`p`,它可以存储一个整型数据的地址,即数组元素的地址。 3. **为指针变量赋值**: 在代码中,`p = a;` 将数组`a`的首地址赋值给指针`p`,这样`p`就指向数组的第一个元素。 4. **遍历数组**: - 第一个例子中,使用`for`循环,`for (p=a; p<a+10; p++)`,这里的`p<a+10`表示`p`从数组首地址开始,直到数组末尾地址(`a+10`是一个超出数组最后一个元素的地址,但在大多数实现中,这仍被视为合法的比较,因为它代表了数组的结束位置)。每次循环,`*p`会输出指针`p`所指向的当前元素,`cout<<*p<<'\\t';`则是将元素的值打印出来,并加上制表符分隔。 - 第二个例子中,`for (i=0; i<10; i++)` 与第一个例子相似,但使用了`i`作为循环变量。在输出部分,`*p++` 这里先输出`p`指向的值,然后`p`自增,指向下一个元素。所以`*p++`的顺序是先访问后自增。 5. **输入数组元素**: `for (i=0; i<10; i++) cin>>a[i];` 这段代码用于从用户那里输入数组的每个元素,`cin`是C++的输入流对象,`>>`操作符用于从标准输入读取数据。 6. **C++语言特点回顾**: 虽然这部分内容与主题略有偏离,但提到了C++语言的一些关键特性,如它的结构化设计,同时具备高级语言和汇编语言的特征,丰富的运算符,良好的可移植性,以及对于程序员的自由度。不过,对于初学者来说,C++的语法结构可能不够严谨,调试程序相对复杂。 这段教程通过两个简单的示例展示了如何在C++中利用指针遍历并输出数组的所有元素,这是理解C++指针和数组交互的重要练习。在实际编程中,掌握这种技巧有助于处理更复杂的数组操作和数据结构。