尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

如何在C++中正确地使用和操作指针?

如何在C++中正确地使用和操作指针?
📅 发布时间:2026/6/18 14:35:23

C++指针正确使用与操作(精简完整版)

一、指针基础定义

指针是存储变量内存地址的变量,格式:类型* 指针名

inta=10;int*p=&a;// &取地址,p存放a的地址*p=20;// *解引用,修改地址对应的值

二、核心基础操作

  1. & 取地址:获取变量内存地址
  2. *** 解引用**:通过地址访问对应数据
  3. 赋值:同类型指针才能互相赋值

三、各类指针规范用法

1. 普通变量指针

intnum=5;int*ptr=&num;cout<<*ptr;// 输出5

2. 数组指针

数组名本质首元素地址,无需加&

intarr[3]={1,2,3};int*p=arr;*(p+1)=99;// 修改第二个元素

3. 函数指针

存储函数地址,用于回调

voidtest(){}void(*fp)()=test;fp();// 调用函数

4. const指针(三种,极易踩坑)

  1. const int* p:指针可改,指向的值不可改
  2. int* const p:指针本身地址固定,值可改
  3. const int* const p:地址、值全都不能修改

5. 二级指针int** p

存放一级指针的地址,多用于动态数组、函数修改外部指针

四、动态内存 new / delete(重点规范)

单个变量

int*p=newint(100);// 开辟堆内存deletep;// 释放内存p=nullptr;// 置空,防止野指针

数组

int*arr=newint[5];delete[]arr;// 数组必须加[]释放arr=nullptr;

规则:

  • new必须配对delete,否则内存泄漏
  • 释放后立刻赋值nullptr,杜绝野指针

五、安全使用准则(避坑核心)

  1. 禁止野指针
    未初始化、已释放的指针都是野指针,访问直接崩溃。
    定义时直接初始化:int* p = nullptr;

  2. 不要返回局部变量地址
    局部变量存栈,函数结束自动销毁,返回地址会失效。

    int*badFunc(){intx=1;return&x;// 错误!}
  3. 指针越界禁止访问
    数组指针p+n不能超出数组长度,会篡改其他内存。

  4. 不同类型指针禁止随意强转
    类型不匹配会造成取值错乱。

  5. 空指针判断
    使用前先判断:if(p != nullptr),避免空指针崩溃。

  6. 堆内存谁开辟谁释放
    new和delete成对,不重复释放同一块内存。

六、C++现代替代方案(优先推荐)

尽量少用裸指针,用智能指针自动管理内存,无需手动delete:

  • unique_ptr:独占资源,性能高
  • shared_ptr:共享资源,计数回收
#include<memory>unique_ptr<int>p=make_unique<int>(10);// 自动释放,不用delete

配套标题可选

  1. C++指针完整使用规范与避坑指南
  2. 一文吃透C++指针操作、内存管理
  3. C++裸指针安全使用全套教程
  4. C++指针从基础到智能指针实战

相关新闻

  • 出生医学证明登报怎么办理?出生医学证明登报多少钱?(附模板+详细流程) - 叮咚办真方便
  • 国内五恒系统服务企业排行:基于资质与案例的客观盘点 - 起跑123
  • 零代码私有化:企业级AI模型工作站DLTM训推一体化平台助力企业搭建专属AI检测模型

最新新闻

  • 终极指南:如何在Mac上轻松运行Windows软件和游戏
  • SAM 2 微调实战:自定义数据集下的掩码分割落地指南
  • 打破门店限制!2026济南黄金回收行业深度解析,正规平台如何选 - 奢侈品回收评测
  • 爱回收买二手苹果靠谱吗?拆完流程我有了答案 - 新闻快传
  • 2026沈阳奢侈品回收实测!名包出手选这家,省心靠谱不被坑 - 奢侈品回收评测
  • 安徽初三中考没考上高中怎么办?合肥这所优秀中专值得特别关注。 - 我叫小周

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号