C++指针示例:理解argv和pargv的使用
需积分: 0 101 浏览量
更新于2024-08-19
收藏 8.81MB PPT 举报
在C++程序设计中,谭浩强的教程为我们提供了一个关于指针和字符串处理的基本示例。在这个例子中,我们有三个命令行参数`argv`数组,`char *argv[] = {“hello”, “nanjing”, “jiangsu”}`,其中`pargv`是一个指向`argv`数组的指针。让我们逐个分析这些代码行的含义及其输出结果。
1. `cout << *(pargv+1) << endl;`
这一行中,`*(pargv+1)`表示取`pargv`所指向的`argv`数组中的第二个元素,因为数组下标从0开始,所以`+1`对应的是`"nanjing"`。因此,输出将是`"nanjing"`。
2. `cout << (char)(**pargv+1) << endl;`
这里`(char)(**pargv+1)`首先解引用`**pargv`,它实际上是指向第一个字符(即`'h'`)的指针,然后加上1。由于ASCII码中,`'h'`的下一个字符是`'i'`,但强制类型转换为`char`后,结果还是`'i'`。所以输出将是`'i'`。
3. `cout << *(*pargv+1) << endl;`
这一行与前一个类似,但使用了两次`*`操作符,意味着先解引用`pargv`指向的地址,再解引用该地址的元素。同样,这会输出`"n"`,因为`"nanjing"`的第一个字符是`'n'`。
4. `cout << *(*(pargv+2)+4) << endl;`
这个表达式首先`+2`将`pargv`移动到数组的第三个元素,即`"jiangsu"`。然后`+4`表示跳过前四个字符,因为每个字符占一个字节,所以`*(pargv+2)+4`指向的是`"u"`。输出将是`'u'`。
这段代码展示了指针操作在C++中的基本用法,包括一级指针(`pargv`)和二级指针(`**pargv`),以及数组下标和字符处理。理解这些概念有助于掌握C++中的字符串处理和内存管理。同时,尽管C++语法结构可能相对宽松,但它对程序员的要求较高,需要理解和熟练掌握细节才能写出高质量的程序,并进行有效的调试。
2021-10-19 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
小炸毛周黑鸭
- 粉丝: 24
- 资源: 2万+
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载