段错误(核心已转储)
- 创业
- 2025-09-04 23:54:03

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;段错误(核心已转储)由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“段错误(核心已转储)”
上一篇
计算机视觉-OpenCV图像处理
下一篇
网络工程师(44)ARP协议