C++编程:理解指针变量的引用与赋值

需积分: 14 2 下载量 189 浏览量 更新于2024-08-19 收藏 8.81MB PPT 举报
"C++编程中的指针变量引用与谭浩强C++教程" 在C++编程语言中,指针变量是至关重要的概念,它能够存储内存地址,允许我们间接访问和修改存储在特定地址的数据。指针变量的使用极大地提高了程序的灵活性和效率。根据提供的标题和描述,我们将深入探讨指针变量的引用以及相关的编程知识点。 首先,我们要明确一点:**指针变量只能存放地址**。这意味着指针变量不能被赋值为非地址的数据类型,如整型数值。例如,在代码段中尝试将`p=100`这样的赋值是非法的,因为`p`是一个指针,应该存储一个内存地址,而不是一个整数值。正确的使用方式是将指针变量指向一个变量的地址,如`p=&i`,这里`p`被赋予了变量`i`的地址。 接下来,我们来看一下**指针变量的引用**。在C++中,`*`操作符被称为解引用操作符,用于获取指针所指向的变量的值。在示例代码中,`*p1`和`*p2`分别表示访问`p1`和`p2`所指向的变量的值。`cout<<*p1<<‘\t’<<*p2<<endl;`这行代码会输出`p1`和`p2`指向的变量`a`和`b`的值。 在给出的代码段中,我们看到了如下定义: ```cpp int a=10, b=100; int *p1, *p2; p1=&a; p2=&b; ``` 这里,`p1`和`p2`被声明为指向整型变量的指针,然后分别被赋值为变量`a`和`b`的地址,即`p1`指向`a`的地址,`p2`指向`b`的地址。这样,当我们通过`*p1`和`*p2`访问它们时,实际上是在访问`a`和`b`的值。 此外,代码中还展示了如何通过指针进行变量的间接访问。`cout<<a<<‘\t’<<b<<endl;`这行代码直接输出了`a`和`b`的值,而`cout<<*p1<<‘\t’<<*p2<<endl;`则是通过指针间接输出`a`和`b`的值,两者的输出结果相同,证明了指针正确地引用了原始变量。 C++中的指针是其强大的特性之一,它允许我们动态地分配和释放内存,实现数据结构(如链表、树等),以及创建高效函数(如通过指针传递大量数据)。然而,指针的使用需要谨慎,不当的使用可能导致程序错误或难以调试的问题。 C++的创始人Bjarne Stroustrup在C语言的基础上创建了C++,引入了类、模板、异常处理等面向对象的特性,使得C++成为一种既能进行低级操作,又能进行高级抽象的多范式编程语言。C++语言的这些特性,结合指针的使用,使其成为软件开发中的重要工具,特别是在系统编程、游戏开发、嵌入式系统和高性能计算等领域。 理解和熟练掌握指针是学习C++的关键步骤。通过谭浩强的C++教程,初学者可以系统地学习到C++的基本概念和指针的使用方法,为更深入的C++编程打下坚实的基础。