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

需积分: 29 1 下载量 84 浏览量 更新于2024-08-19 收藏 8.81MB PPT 举报
指针变量在C++编程中扮演着至关重要的角色,它们存储的是内存地址,而非数据本身。谭浩强在《C++程序设计》中的PPT讲解了关于指针的基本概念和使用方法。首先,我们了解指针变量的正确使用规则,比如不能直接将非地址数据赋给指针,如例子中`p=100;`是非法的,因为`p`应该是指向整型变量的内存地址,而不是一个整数值。 在代码示例中,定义了两个整型变量`a`和`b`以及相应的指针`p1`和`p2`,通过`p1=&a`和`p2=&b`,指针`p1`指向了变量`a`的地址,`p2`指向了变量`b`的地址。在`cout`语句中,`*p1`和`*p2`分别用来解引用(dereference)这些指针,输出它们所指向的变量的值,即`10`和`100`,而非地址。 非法的指针赋值指的是试图赋予指针一个非地址值,这会导致程序错误,因为指针是用来处理内存地址的。正确的指针引用则是指通过`*`运算符访问指针所指向的变量内容。 C++语言的发展源于早期的BCPL和B语言,由Dennis Ritchie和Brian Kernighan在1972年基于B语言发展出了C语言,以支持UNIX操作系统。C++作为C语言的扩展,保留了C语言的灵活性和高效性,同时引入了面向对象特性。C++语言有以下特点: 1. 结构化编程:C++简洁易用,适用于各种规模的程序开发,从小型控制程序到大型系统程序,甚至科学计算。 2. 高级与低级特性结合:C++提供了丰富的运算符和数据结构,既能进行高级的逻辑操作,也能进行底层的位运算,使得程序表达能力强且性能优越。 3. 可移植性:由于C++语法相对灵活,编写出的程序可以在不同类型的计算机上运行,只需做少量调整。 4. 学习曲线陡峭:虽然C++的自由度大,但新手可能需要更多时间去理解和掌握,因为它对语法结构的要求较高,调试过程可能较为复杂。 谭浩强的PPT内容涵盖了C++基础中的指针概念,包括指针变量的正确使用、地址表示、以及C++语言的历史和特点,这些都是理解高级编程的重要基础知识。通过学习和实践,程序员可以更有效地利用指针提高代码的效率和灵活性。