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