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

全員に返信(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;
}
いいねを押す +0
刘奇

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!