谭浩强C++:理解数组指针定义与初始化

需积分: 31 16 下载量 181 浏览量 更新于2024-08-18 收藏 8.66MB PPT 举报
在谭浩强的经典C++教程中,章节重点介绍了指向数组元素的指针变量的定义与赋值。指针是C++编程中的核心概念,它们允许我们间接访问和操作内存中的数据。以下是关键知识点: 1. 指针变量的定义:在C++中,指针是一个特殊的变量,用来存储内存地址。例如,当声明一个整型数组`int a[10]`时,指针`int *p`用于指向这个数组的元素。指针变量的类型需要与其所指向的数据类型一致,如`*p`应定义为`int`。 2. 指针赋值: - `p = &a[0];`:将指针`p`初始化为数组`a`的第一个元素(即`a[0]`)的地址。`&`运算符用于获取变量或数组元素的地址。 - `p = a;`:这是不推荐的赋值方式,因为`a`是一个数组名,而非地址,将其赋给指针可能导致未定义的行为。正确的做法是使用数组元素的地址。 - 数组名本身就是指向数组第一个元素的隐式指针,所以`int *p = a;`实际上也是给指针赋初值,但推荐使用明确的地址初始化。 3. 数组元素的地址表示:文件部分列举了一串十六进制数,它们代表了数组`a`从`a[0]`到`a[9]`的地址,这是为了展示指针如何引用数组的不同元素。 4. C++语言背景:谭浩强的教程提到了C++语言的发展历程,C++起源于B语言,由Dennis Ritchie和Brian Kernighan在1972年改进而成,最初是为了编写UNIX操作系统。C++继承了C语言的优点,增加了面向对象特性,使其成为强大的编程工具。 5. C语言特点: - 结构化编程:C语言支持模块化和结构化编程,既适合大型系统开发,也适用于小型控制程序和科学计算。 - 高级语言与汇编语言结合:C语言提供了丰富的运算符和数据结构,既有高级语言的易读性,又有接近底层的灵活性。 - 可移植性:C程序能在不同硬件平台上运行,但语法的灵活性可能导致调试困难。 - 学习曲线:对于有经验的开发者,C语言提供了很大的设计自由度;但对新手来说,理解语法并调试程序可能较难。 本章节讲解了指针在C++中的基本用法和C语言的历史以及特点,强调了正确使用指针以有效操作数组元素的重要性。后续内容可能会深入讨论指针的使用技巧、数组操作、内存管理等内容。