1)內存的幾種分配方式: 靜態存儲區:全局變量和靜態變量 棧空間:局部變量,參數 堆分配(動態) 2)常見的內存處理錯誤以及策略: 1 分配未成功就開始使用 對策:檢測指針是否為NULL(判斷) ex:assert(p!=NULL)//若P為函數的參數     if(p!=NULL)/if(p==NULL) //判斷分配內存是否有效  2 內存分配成功但沒初始化(賦初值)  3 內存分配成功但操作越界  4 忘記釋放內存而造成內存泄露  5 釋放了內存卻繼續使用它   原因:過多的對象調用      return語句中返回了指向棧空間的指針或其引用,該內存在函數體結束后自動銷毀      使用free/delete后沒有將指針置NULL產生野指針 3)數組和指針的區別  1 內容的修改:   ex1: char a[]="hello"; //a為字符數組 a[0]='X';    //a的內容可以修改 cout<
posted on 2006-05-14 15:01 Gerrard 閱讀(185) 評論(0)  編輯 收藏 引用 所屬分類: C++/C