C++程序设计:理解指针变量的赋值与类型

需积分: 0 2 下载量 63 浏览量 更新于2024-08-20 收藏 8.66MB PPT 举报
"C++程序设计(谭浩强完整版)" C++是一种强大的面向对象的编程语言,起源于C语言,由Bjarne Stroustrup于1983年在C语言的基础上添加了类、模板等特性发展而来。C++保留了C语言的效率和灵活性,同时引入了面向对象编程的概念,使得程序设计更加模块化和易于复用。 指针是C++中的一个重要概念,它是内存地址的别名。在上述描述中提到了指针变量的赋值方法: 1. 分别声明变量和指针,然后将变量的地址赋给指针: ```cpp int i, *i_point; i_point = &i; ``` 这里`&i`表示获取变量`i`的地址,赋值给指针`i_point`。 2. 在声明指针的同时就给它赋值: ```cpp int i; int *i_point = &i; ``` 这种方式在定义时就初始化了指针,确保它指向了一个已存在的变量。 指针变量必须指向同类型的变量,例如,一个整型指针`int*`只能存储整型变量的地址,不能存放其他类型如浮点型或字符型变量的地址。尝试这样做会导致编译错误。 在示例中提到了2000H和3000H,这些通常是内存地址的十六进制表示,用来演示指针变量`i_point`存储的地址。在内存中,变量`i`的地址可能是2000H,而`i_point`则持有这个地址,表示它指向`i`。当访问`*i_point`时,实际上是访问`i`的值,因为`*`是解引用操作符,它会返回指针所指向的变量的值。 C++程序设计涉及的其他知识点包括: 1. 结构化程序设计:C++支持结构化编程思想,如顺序、选择(if-else)、循环(for, while)等控制结构,有助于编写清晰、模块化的代码。 2. 运算符丰富:C++包含各种算术、逻辑、位运算符,以及成员访问(`.`和`->`)、指针解引用等特殊运算符。 3. 数据结构:C++允许用户自定义数据类型,如结构体(struct)和类(class),以及数组、链表、树等复杂数据结构。 4. 可移植性:C++编写的程序可以在不同的硬件和操作系统上移植,只需做少量或无需修改,这得益于它的标准库和编译器的广泛支持。 5. 编程难度:由于C++的语法相对自由,调试时可能会遇到挑战。理解并遵循良好的编程实践,如注释、命名规范、错误处理,以及利用现代C++特性(如RAII、智能指针)可以帮助提高代码质量和可维护性。 6. 面向对象编程:C++支持封装、继承、多态等面向对象特性,使得代码能够更好地模拟现实世界的问题,提高了代码的重用性和灵活性。 学习C++不仅需要掌握基本语法和概念,还需要理解和应用面向对象编程原理,以及如何利用C++的高级特性来解决实际问题。通过实践和不断的编程经验积累,可以逐步成为一名熟练的C++程序员。