C++指针实战:字符串倒序、去首尾空格与整数交换

需积分: 5 0 下载量 147 浏览量 更新于2024-08-03 收藏 520KB PDF 举报
"指针.pdf" 在C++编程中,指针是一种非常重要的概念,它能够直接访问内存地址,实现高效的数据操作。以下是对指针相关内容的详细解释: 1. 指针练手-字符串倒序 在示例代码中,`revstr`函数用于将输入的字符串`pa`倒序存储到`pb`。首先,定义了两个字符数组`stra`和`strb`,分别用来存放原始字符串和反转后的字符串。`getline`函数用于从标准输入读取一行字符。然后调用`revstr`函数,通过指针`p`遍历字符串`pa`,找到末尾,再从末尾开始,将每个字符依次复制到`pb`,最后在`pb`的末尾添加结束符`\0`,表示字符串的结束。 2. 去掉字符串首尾空格 在实际的文本处理中,去除字符串首尾空格是常见的需求。可以使用指针遍历字符串,找到第一个非空格字符作为新的字符串开始,找到最后一个非空格字符作为新的字符串结束,然后将这两点之间的部分复制出来。注意,这个操作可能需要动态内存分配,或者使用固定大小的缓冲区。 3. 用指针实现pswap函数 `pswap`函数用于交换两个整数的值,但不直接使用赋值操作。而是通过传入两个整数的指针,交换指针所指向的内存中的值。在`pswap`函数内部,可以先将`p`指向的值临时存放在一个局部变量中,然后将`q`指向的值赋给`p`指向的位置,最后将临时变量的值赋给`q`指向的位置。这样,两个整数的值就实现了互换,而没有直接修改它们的地址。 指针在C++中扮演着核心角色,它能提供对内存的直接访问,使得数据结构如链表、树等的实现成为可能,同时也让函数能够修改其参数的值,增加了编程的灵活性。然而,使用指针也需要谨慎,不当的指针操作可能导致内存泄漏或程序崩溃。因此,理解指针的工作原理并熟练掌握其使用是非常重要的。