C++指针变量与引用教程:谭浩强讲解

需积分: 10 10 下载量 64 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
指针变量在C++面向对象程序设计中起着至关重要的作用,它们主要用于存储内存地址而非实际数据。在谭浩强的C++教程PPT中,这部分内容主要讲解了以下几个关键知识点: 1. **指针变量的性质**: 指针变量只能用来存放内存地址,不能直接存储数值或非地址类型的数据。例如,在提供的代码片段中,`int *p, i;` 表示`p`是一个整型指针,用于存储整数的地址,而不是整数值。 2. **指针变量的赋值与引用**: `p = 100;` 是错误的,因为试图将一个整数值100赋给一个期望存储地址的指针。正确的做法是`p = &i;`,这里`&i`返回`i`的地址并赋给`p`。同样,`p1 = &a` 和 `p2 = &b` 分别将变量`a`和`b`的地址分别存储在`p1`和`p2`中。 3. **输出指针内容**: 当我们使用`*`运算符解引用指针时,实际上是访问指针所指向的数据。如`cout << *p1 << '\t' << *p2;` 输出的是`a`和`b`的值,而不是它们的地址。 4. **指针类型和表示**: 在代码中,`p1`和`p2`是`int *`类型的指针,它们分别指向`int`类型的变量`a`和`b`。`&b`和`&a`分别表示`b`和`a`的地址,这是指针变量引用的体现。 5. **C++语言的发展和特点**: - C++语言源自C语言,最初由Dennis Ritchie和Brian Kernighan为编写UNIX操作系统而创建。C++在C的基础上增加了面向对象编程特性。 - C++的主要特点包括:结构化编程,支持灵活的数据结构和运算符;具有高级语言的易读性和低级语言的效率;良好的可移植性,虽然语法相对宽松,但也需要开发者有一定的经验才能写出高质量的程序。 6. **学习难点与调试**: 对于初学者来说,C++的学习曲线较陡,因为它允许较多的自由度和可能的错误。尽管如此,只要理解了语法规则,调试程序还是可以通过逐步分析和测试来实现的。 这部分内容强调了指针在C++中的基础概念,包括正确使用和理解指针类型,以及C++语言本身的结构化、灵活性和调试挑战。通过谭浩强的PPT,学习者能够更好地掌握指针在C++中的应用和潜在问题处理方法。