当前位置: 首页 > news >正文

段错误 (核心已转储)

struct Addressbooks {
    struct Person personArray[MAX];
    int m_Size; // 当前已用大小
};

void addPerson(Addressbooks *abs) {
    // 开始添加操作
    string name;
    cout << "输入姓名:";
    cin >> name;
    // 下面这句话执行后就报:段错误 (核心已转储)
    abs->personArray[abs->m_Size].m_Name = name; 
}

问题原因:没有对 Addressbooks 结构体中的 m_Size 成员进行初始化。由于未初始化,m_Size 的值是一个随机的垃圾值,当使用这个随机值作为数组索引时,就可能会访问到未分配的内存区域,从而导致段错误。

解决:

Addressbooks abs;
// 初始化通讯录的大小为 0
abs.m_Size = 0;

相关文章:

  • 网络工程师 (44)ARP协议
  • 【九】Golang 数组
  • 由application绑定失败引起的ANR
  • IMX6ULL的ALT0、ALT1、ALT2、ALT3、ALT4等是啥意思?
  • Burp Suite基本使用(web安全)
  • iOS事件传递和响应
  • 车载软件架构 --- 软件开发在造车流程中的位置
  • 静态路由协议知识要点总结
  • C语言中printf()函数何时把内容输出到屏幕上?
  • Java 基于 SpringBoot+Vue 的动漫平台(附源码,文档)
  • 嵌入式开发:接触器
  • 安卓burp抓包,bypass ssl pinning
  • 同步异步日志系统-日志落地模块的实现
  • 基于 Python typing 模块的类型标注
  • 容器化部署Kafka的最佳实践:基于KRaft模式的无ZooKeeper方案
  • spring如何解决循环依赖
  • 机器学习--逻辑回归
  • 烧烤炉出口亚马逊欧盟站CE认证EN1860安全标准
  • Game Maker 0.11:《The Sandbox》创作愿景的全新篇章
  • 软件评测师复习之计算机网络(4)
  • 物流公司网站建设/石家庄seo按天扣费
  • 政府网站建设可行性研究报告 baidu/衡阳seo优化推荐
  • 东莞企业vi设计/快速排名优化
  • 石家庄网站建设智美/品牌营销策划机构
  • 网页制作与网站建设江西/今日新闻热点10条
  • 网站建设投资资金/百度推广优化师是什么