# C++中如何使用指针与指针变量 ## 1. 指针的基本概念 指针是C++中一种特殊的变量类型,它存储的是内存地址而非直接的数据值。通过指针,程序可以直接访问和操作内存,这为动态内存管理、数组操作和函数参数传递等提供了极大的灵活性。 ### 1.1 指针的定义 ```cpp int *ptr; // 定义一个指向整型的指针 char *cPtr; // 定义一个指向字符型的指针 指针在使用前必须初始化,可以指向一个已存在的变量或动态分配的内存:
int num = 10; int *ptr = # // 指向变量num的地址 // 动态内存分配 int *dynPtr = new int(20); 通过*运算符可以访问指针指向的值:
cout << *ptr; // 输出10 *dynPtr = 30; // 修改动态内存的值 指针支持加减运算,用于数组遍历:
int arr[3] = {1, 2, 3}; int *arrPtr = arr; cout << *(arrPtr + 1); // 输出2 const指针:指针本身不可修改指向const的指针:指向的值不可修改const int *ptr1; // 指向的值不可变 int *const ptr2; // 指针本身不可变 const int *const ptr3; // 两者都不可变 int *p = new int; // 分配单个int delete p; // 释放内存 int *arr = new int[5]; // 分配数组 delete[] arr; // 释放数组 delete p; p = nullptr; // 安全措施 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int **pptr; // 指向指针的指针 推荐使用智能指针替代原生指针,自动管理内存:
#include <memory> std::unique_ptr<int> uPtr(new int(10)); std::shared_ptr<int> sPtr = std::make_shared<int>(20); 指针是C++的核心特性之一,正确使用指针可以: 1. 提高程序效率 2. 实现复杂数据结构 3. 灵活管理内存
但同时也需要注意: - 避免空指针解引用 - 防止内存泄漏 - 遵循RI原则
掌握指针的使用是成为C++高级开发者的必经之路。 “`
(注:实际字数为约650字,可根据需要扩展具体示例或应用场景部分以达到700字要求)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。