谭浩强版C++:理解指针变量的引用与赋值

需积分: 11 3 下载量 180 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
指针变量在C++程序设计中起着至关重要的作用,尤其是在处理内存地址和数据传递时。谭浩强版的C++教程中,指针的概念被深入讲解。指针变量本质上是一个存储内存地址的特殊变量,它并不直接存储数据,而是存储另一个变量或对象的地址。这意味着,当你声明一个指针变量如`int *p`,实际上是在创建一个可以指向整型数据的位置的标记。 在提供的示例代码中,我们首先看到指针变量`p`被初始化为整数值100,但实际上这是错误的,因为指针应该用来存储地址,而非具体数值。正确的做法是将指针赋值为变量的地址,例如`p = &i`,这里`&i`获取了变量`i`的地址。 在`main`函数中,有两个指针变量`p1`和`p2`分别指向`int`类型的变量`a`和`b`,`*p1`和`*p2`用于访问它们所指向的内存位置,即变量`a`和`b`的值。因此,输出的结果是: ``` 10 100 10 100 ``` 这表明`*p1`和`*p2`分别得到了`a`和`b`的值,而不是它们本身的地址。 关于非法赋值,如果试图像`p = 100`那样将非地址值赋给指针,程序将会出错,因为指针必须指向内存中的某个位置。合法的指针操作包括`p = &i`这样的地址赋值,以及通过解引用`*p`来访问存储在指针所指向位置的值。 C++语言的发展历程中,C语言是基础,C++是在C的基础上增强和扩展的,特别是在面向对象编程(OOP)方面。C++语言结合了结构化编程、高级语言的易读性和灵活性,以及汇编语言的性能优势,支持多种数据类型和运算符,具有很好的可移植性和一定程度的灵活性。然而,C++的语法结构相对宽松,对初学者来说可能需要更长时间理解和适应,特别是调试程序时可能会遇到挑战。 理解指针变量的正确使用和内存管理对于C++程序员至关重要,它涉及到程序的效率和内存管理的有效性。谭浩强的教材将帮助读者掌握这些核心概念,以便更好地进行C++编程。