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

需积分: 9 5 下载量 33 浏览量 更新于2024-08-23 收藏 8.9MB PPT 举报
在C++程序设计中,指针变量起着至关重要的作用,它们用于存储内存地址而非实际数据。谭浩强编著的教材中,对于指针的理解是学习C++的重要部分。以下是对指针变量的引用及其在代码中的应用的详细解析: 1. 指针变量的性质: - 指针变量只能存储地址,这意味着当你声明一个指针时,如`int *p`,`p`实际上是一个内存地址的占位符,而不是存储数值的变量。 - 非法赋值:不能将非地址数据(如整数100)直接赋给指针变量,如`p=100`是不允许的,正确的做法是将地址赋给指针,如`p=&i`,这里`&i`是变量`i`的地址。 2. 指针变量的引用: - 在程序中,使用`*`运算符可以访问指针所指向的内存位置。例如,在`cout<<*p1<<'\t'<<*p2<<endl;`这行代码中,`*p1`和`*p2`分别表示`p1`和`p2`指向的内存单元的值,即变量`a`和`b`的值。 3. 指针的示例: - 在提供的代码片段中,`p1`和`p2`分别被初始化为`&a`和`&b`,这意味着它们分别指向`a`和`b`的内存地址。因此,`cout`输出的值是`10`和`100`,分别代表`a`和`b`的值,而`*p1`和`*p2`则直接显示了对应变量的值。 4. C++语言的发展: - C++是在C语言的基础上发展起来的,它继承了C语言的优点,如结构化编程、灵活性、高效性和可移植性。C++语言的设计初衷是为了编写系统软件,如UNIX操作系统。 5. C语言的特点: - 结构化:C语言强调清晰的模块划分和控制结构,方便程序设计。 - 运算符丰富:提供算术、逻辑和位运算,支持复杂的数据结构。 - 可移植性:C语言编写的程序能够在不同类型的计算机上运行,但可能需要调整。 - 自由度大与挑战:虽然语法结构相对宽松,但这对初学者来说意味着调试挑战,需要理解和掌握规则。 6. 指针的应用: - 指针在C++中广泛应用于动态内存管理、函数参数传递、数组操作和数据结构实现等场景,通过指针可以实现高效的内存操作和数据处理。 理解指针变量在C++中的概念、赋值和引用至关重要,它能帮助开发者更好地操纵内存、提高程序性能和实现更复杂的编程技巧。谭浩强的教程中对此有深入讲解,学习者应重点掌握指针的基本用法和注意事项,以便在实际项目中得心应手。