首頁  >  問答  >  主體

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

巴扎黑巴扎黑2762 天前698

全部回覆(2)我來回復

  • 迷茫

    迷茫2017-04-17 14:53:35

    指標使用前一定要初始化

    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;
    }

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 14:53:35

    第一個list是一個髒指針,沒有賦nullptr,也沒有指向任何合法的內存;
    第二個list是一個合法的ArrayList地址;

    回覆
    0
  • 取消回覆