主页 > 创业  > 

段错误(核心已转储)

段错误(核心已转储)
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;
标签:

段错误(核心已转储)由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“段错误(核心已转储)