c++ - vs2008调试出错, 结构体变量使用前未初始化.

浏览:31日期:2023-04-09

问题描述

问题解答

回答1:

指针使用之前一定要初始化

int main() { ArrayListPtr list; Init(list); /* //两种改法 ArrayList list; Init(&list) // 以下的操作都不是指针,访问成员要改为`.`//或者 ArrayListPtr list = (ArrayListPtr)malloc(sizeof(ArrayList)); Init(list); */printf('length: %dn', list->length); printf('size: %dn', list->size); return 0;}回答2:

第一个list是一个脏指针,没有赋nullptr,也没有指向任何合法的内存;第二个list是一个合法的ArrayList地址;

相关文章: