検索

ホームページ  >  に質問  >  本文

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

巴扎黑巴扎黑2807日前722

全員に返信(2)返信します

  • 迷茫

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

    ポインタは使用前に初期化する必要があります

    int main() {
        ArrayListPtr リスト;
        初期化(リスト);
        /*
        // 2 つの変更方法
        ArrayList リスト;
        Init(&list) // 以下の操作はポインターではありません。Access メンバーは `.` に変更する必要があります。
        
        //または
        ArrayListPtr リスト = (ArrayListPtr)malloc(sizeof(ArrayList));
        初期化(リスト);
        */
        
        printf("長さ: %d\n", リスト->長さ);
        printf("サイズ: %d\n", リスト->サイズ);
        0を返します。
    }

    返事
    0
  • 怪我咯

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

    最初のリストはダーティ ポインタであり、nullptr を割り当てず、正当なメモリを指しません。
    2 番目のリストは正当な ArrayList アドレスです。

    返事
    0
  • キャンセル返事