c++ - vs2008调试出错, 结构体变量使用前未初始化.
巴扎黑
巴扎黑 2017-04-17 14:51:35
0
2
720
巴扎黑
巴扎黑

全部回复(2)
迷茫

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板