freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

高質量c編程學習筆記(編輯修改稿)

2025-07-22 14:20 本頁面
 

【文章內容簡介】 它。ⅰ 程序中的對象調用關系過于復雜。這是數(shù)據(jù)結構設計問題,要重新設計一下。ⅱ return語句寫錯了,注意不要返回指向“棧內存”的指針和引用,那個東西在函數(shù)體結束時被自動銷毀的?、?使用free或delete釋放了內存后,沒有將指針設置為NULL,導致“野指針”……規(guī)則:1. 用malloc或new申請內存之后,立即檢查指針是否為NULL. 2. 為數(shù)組和動態(tài)內存賦初值。 3. 避免數(shù)組或指針的下標越界,特別要當心“多1”或者“少1” 4. 動態(tài)內存的申請和釋放必須配對,防止內存泄漏(malloc/free)(new/delete) 5. 用free或delete釋放內存之后,立即將指針設置為NULL,防止產生“野指針”指針和數(shù)組的對比:數(shù)組要么在靜態(tài)存儲區(qū)被創(chuàng)建(全局數(shù)組),要么在棧上被創(chuàng)建。數(shù)組名對應著一塊內存(而不是指向),其地址與容量在生命期內保持不變,只有數(shù)組的內容可以改變。指針可以隨時指向任意類型的內存塊,它的特征是“可變”,所以我們常用指針來操作動態(tài)內存。若想把數(shù)組a的內容復制給數(shù)組b,不能用b=a,用標準庫函數(shù)strcpy進行復制;比較b和a的內容是否相同,不能用b==a來判斷,用標準庫函數(shù)strcmp進行比較。P=a并不能把a的內容復制給指針p,而是把a的地址賦給了p。得先用malloc為p申請一塊容量為strlen(a)+1個字符的內存,在用strcpy進行字符串復制。用運算符sizeof可以計算出數(shù)組的容量,字節(jié)數(shù)。但sizeof指針,只能告訴你指針類型的大小,而不是它所致的內存的容量。C++/c沒有辦法知道指針所致的內存容量的。Win32位系統(tǒng),所有的指針都是4位的。Char是1位,int,float是4位,double是8位。注意:當數(shù)組作為函數(shù)的參數(shù)進行傳遞時,該數(shù)組自動退化為同類型的指針。Free和delete只是把指針所指的內存給釋放掉,但并沒有把指針本身干掉。指針被free以后其地址仍然不變(非NULL),只是該地址對應的內存是垃圾,成了所謂的“野指針”,如果這時候不把該指針設置為NULL,會讓人誤以為它是個合法的指針。對于野指針,if(p!=NULL)起不到防錯作用,因為即便p不是NULL指針,它也不指向合法的內存塊?!耙爸羔槨辈皇荖ULL指針,是指向“垃圾”內存的指針。If語句對它不起作用。生成野指針的原因:1. 指針變量沒有被初始化。如果被創(chuàng)建時沒有初始化指針,它會亂指一氣。 因此在指針變量創(chuàng)建時要初始化,要么設置為NULL,要么讓它指向合法的內存。 2. 指針被free或者delete之后,沒有置為NULL,讓人誤以為它是個合法的指針。 3. 指針操作超越了變量的作用范圍。Malloc/free和new/delete的區(qū)別。(c程序只能用malloc/free管理動態(tài)內存)Malloc與free是c++/c語言的標準庫函數(shù),new/delete是c++的運算符。他們都可以用于申請動態(tài)內存和釋放內存。對于非內部數(shù)據(jù)類型的對象而言,光用malloc/free無法滿足動態(tài)對象的要求。因為對象在創(chuàng)建的同時要自動執(zhí)行構造函數(shù),消亡之前要自動執(zhí)行析構函數(shù)。而malloc/free是庫函數(shù)而不是運算符,不在編譯器控制權限之內,不能把執(zhí)行構造函數(shù)和析構函數(shù)的任務強加于malloc/free.因此c++需要一個能完成動態(tài)內存分配和初始化工作的運算符ne
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1