C++指针示例:理解argv与pargv在程序中的应用

需积分: 10 1 下载量 6 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
在谭浩强的经典C++程序设计教程中,章节涉及了C++语言的历史和发展。自1972年C语言由Dennis Ritchie和Brian Kernighan在BCPL和B语言基础上创建,用于编写UNIX操作系统以来,C++作为C语言的扩展和改进版本,逐渐发展成为一种功能强大的编程语言。C++的主要特性包括: 1. 结构化编程:C++设计简洁,适应性强,既适合大型系统和控制程序,也能处理科学计算。它的结构化特性使得代码组织有序,易于理解和维护。 2. 高级与低级特性结合:C++兼具高级语言的易读性和表达力(如面向对象编程),同时也支持低级操作,如丰富的运算符(包括算术、逻辑和位运算)以及灵活的数据结构,这使得编写的程序性能高效。 3. 可移植性:C++编写的程序具有良好的跨平台能力,能在不同型号和性能级别的计算机上运行,减少了移植时的调整需求。 4. 程序设计自由度大但挑战性:尽管C++语法相对宽松,给高级开发者很大的设计空间,但也可能让初学者感到困难,因为语法和调试过程相对复杂。然而,通过深入理解C++语法规则,即使是初学者也能逐渐掌握编程和调试技巧。 题目所提到的代码示例中,`char *argv[]` 是一个字符指针数组,存储了一些字符串。`pargv` 是 `argv` 的指向,`*(pargv+1)` 访问的是第二个元素 "nanjing",输出结果将是 "n"。`(**pargv+1)` 先解引用两次获取字符串,再加1得到 "i"。`*(*pargv+1)` 也是先访问第二个元素,得到 "n",然后取下一个字符,结果是 "a"。最后,`*(*(pargv+2)+4)` 将访问 "jiangsu",由于索引从0开始,`*(pargv+2)` 是 "jiangsu",加4表示字符 'g',输出结果为 'g'。 这部分内容展示了C++中指针和数组操作的基本用法,特别是如何通过指针间接访问数组元素,这对于理解C++中的动态内存管理和数据结构至关重要。同时,也揭示了C++程序设计中关于指针运算和字符串处理的常见技巧。
2024-11-29 上传