当前位置: 首页 > 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;
http://www.dtcms.com/a/22857.html

相关文章:

  • 网络工程师 (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)
  • VScode运行后出现黑窗口
  • 页表是如何工作的
  • 【CSS】部分div禁用tailwindcss
  • 零基础入门机器学习 -- 第八章无监督学习与聚类
  • Android 13 上通过修改 AOSP 拦截 SystemUI 音量调节事件
  • Codeforces Round 1005 (Div. 2)(A-D)
  • kong身份认证插件详解之Basic Auth插件
  • 【Linux】--- 信号阻塞、信号捕捉
  • thingboard告警信息格式美化
  • 第二章:基础概念精讲 - 第五节 - Tailwind CSS Flex 和 Grid 布局实战