C++程序设计:理解指针变量的赋值与类型
需积分: 0 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++程序员。
2021-12-04 上传
157 浏览量
点击了解资源详情
2010-12-15 上传
2021-12-06 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
我欲横行向天笑
- 粉丝: 28
- 资源: 2万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍