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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]tp-3151c程序設(shè)計(jì)概述-資料下載頁(yè)

2024-10-16 23:14本頁(yè)面
  

【正文】 /釋放 p指向的動(dòng)態(tài)內(nèi)存間 ? } ? 程序執(zhí)行結(jié)果如下 : ? 10 ? 該程序定義了一個(gè)整型指針變量 p,然后用 new為其分配了一塊動(dòng)態(tài)內(nèi)存, p指向這個(gè)內(nèi)存塊。然后在這內(nèi)存塊中賦予初值 10,并將其值輸出。最后通過(guò) delete釋放 p指向的存儲(chǔ)空間。 ? 使用 new可以為數(shù)組動(dòng)態(tài)分配內(nèi)存空間,例如 : ? int *p = new int[10]。 ? 這時(shí) new為具有 10個(gè)元素的整型數(shù)組分配動(dòng)態(tài)內(nèi)存空間,并將首地址賦給了指針 p。 ? 釋放動(dòng)態(tài)分配的數(shù)組存儲(chǔ)區(qū)時(shí),必須在指針名前加上“ [ ]‖表示釋放的是數(shù)組空間,如: ? delete [ ]p。 ? 注: 在 []內(nèi)不需要標(biāo)明數(shù)組的大小。 ? new和 delete相比 malloc( )和 free( ),有以下幾個(gè)優(yōu)點(diǎn) : ? (1)new可以自動(dòng)計(jì)算所要分配內(nèi)存的類(lèi)型的大小,而不必使用 sizeof( )來(lái)計(jì)算所需要的字節(jié)數(shù),減少了發(fā)生錯(cuò)誤的可能性,也為程序員提供了便利。 ? (2)new能夠自動(dòng)返回正確的指針類(lèi)型,不必對(duì)返回指針進(jìn)行類(lèi)型轉(zhuǎn)換。 ? (3)new和 delete可以被重載,由用戶(hù)自定義內(nèi)存分配方式。 ? (4)使用 new申請(qǐng)動(dòng)態(tài)內(nèi)存時(shí),如果當(dāng)前沒(méi)有足夠的內(nèi)存滿(mǎn)足申請(qǐng)要求, new將返回空指針( NULL)。為了防止程序出錯(cuò),提高程序的健壯性,通常要對(duì)內(nèi)存的動(dòng)態(tài)分配是否成功進(jìn)行檢查。請(qǐng)看以下例子。 ? 例 19 ? include ? void main( ) ? { ? int *q。 ? q=new int。 ? if (q==NULL) ? cout memory not enoughendl。 ? *q=20。 ? cout*qendl。 ? delete q。 ? } ? 若動(dòng)態(tài)分配內(nèi)存失敗,程序?qū)⒃谄聊簧巷@示 memory not enough 。 引用 ? 引用是 C++語(yǔ)言中的新概念,其功能類(lèi)似于為變量起一個(gè)別名,主要應(yīng)用于函數(shù)參數(shù)及函數(shù)的返回類(lèi)型。 ? 1.引用的定義 ? 用“ amp?!瑏?lái)定義引用,例如 : ? int i=5。 ? int amp。j=i。 //聲明 j是 i的引用 ? 上面的程序,創(chuàng)建了一個(gè)整型變量 i的引用 j, j實(shí)際上就相當(dāng)于 i的別名,一旦被聲明,就和 i占用相同的內(nèi)存。當(dāng) i變化時(shí), j也隨之變化,反之亦然。換句話(huà)說(shuō),一旦定義目標(biāo)的一個(gè)引用,則引用和目標(biāo)就成為了同一個(gè)東西,對(duì)其中任何一個(gè)進(jìn)行修改,都等于對(duì)另一個(gè)進(jìn)行修改。 ? 例 110 ? include ? void main( ) ? { ? int i。 ? int amp。j=i。 ? i=15。 ? couti=ij=j\n。 ? j=40。 ? couti=ij=j\n。 ? coutAddress of iamp。i\n。 ? coutAddress of jamp。j\n。 ? } ? 執(zhí)行結(jié)果 : ? i=15 j=15 ? i=40 j=40 ? Address of i i0x0012FF7C ? Address of j i0x0012FF7C ? 我們由程序的運(yùn)行結(jié)果可以看出 ,i和 j的值始終是一樣的,保持同步更新,且占用內(nèi)存中的同一地址。 ? 說(shuō)明 : ? (1)定義引用時(shí),必須立即對(duì)它進(jìn)行初始化。例如下述定義是錯(cuò)誤的 : ? int i。 ? int amp。j。 //錯(cuò)誤 ? j=i。 ? 為引用提供的初始值,可以是一個(gè)變量或另一個(gè)引用。例如 : ? int i=5。 ? int amp。j1=i。 ? int amp。j2=j1。 ? 這樣定義后,變量 i將有兩個(gè)別名 :j1和 j2。 ? (2) 引用一旦建立,就不可重新賦值,不能讓一個(gè)引用再作為另一個(gè)變量的別名,例如 : ? int i, k。 ? int amp。j=i。 ? j=amp。k。 //錯(cuò)誤 ( 3)不能建立引用的數(shù)組,例如: ? int b[5]。 ? int amp。b1[5]=b。 //錯(cuò)誤 ? ( 4)不能建立空引用 ? int amp。i=NULL。 //錯(cuò)誤 ? ( 5)不能建立“指向引用的指針”或“引用的引用” ? intamp。 *p。 //錯(cuò)誤 ? int amp。amp。r。 //錯(cuò)誤 ? 2. 引用作為函數(shù)參數(shù) ? 引用的一個(gè)主要用途,是用作函數(shù)的參數(shù)。通常函數(shù)參數(shù)的傳遞有三種方式“值傳遞”,“指針傳遞”,“引用傳遞”。引用傳遞參數(shù)的功能和指針傳遞很像,而形式類(lèi)似于值傳遞,可讀性更好。下面我們通過(guò)一個(gè)例子看看引用傳遞和指針傳遞的區(qū)別: ? 例 111 ? include ? void swap(int *m,int *n) //用于交換兩個(gè)參數(shù)的值 ? { ? int temp。 ? temp=*m。 ? *m=*n。 ? *n=temp。 ? } ? void main( ) ? { ? int a=5,b=10。 ? couta=ab=bendl。 ? swap(amp。a,amp。b)。 ? couta=ab=bendl。 ? } ? 程序運(yùn)行的結(jié)果為 : ? a=5 b=l0 ? a=l0 b=5 ? 采用指針傳遞參數(shù)的方法,調(diào)用函數(shù) swap( )后, a和 b的值被交換了。 ? 再來(lái)看看用引用傳遞參數(shù)的例子: ? 例 112 ? include ? void swap(int amp。m,int amp。n) ? { ? int temp。 ? temp=m。 ? m=n。 ? n=temp。 ? } ? void main() ? { ? int a=5,b=10。 ? couta=ab=bendl。 ? swap(a,b)。 ? couta=ab=bendl。 ? } ? 程序運(yùn)行結(jié)果為 : ? a=5 b=10 ? a=l0 b=5 ? 當(dāng)程序中調(diào)用函數(shù) swap( )時(shí),實(shí)參 a和 b分別對(duì)引用 m和 n進(jìn)行初始化。根據(jù)引用的定義,在 swap( )中,對(duì) m和 n的訪(fǎng)問(wèn)就是對(duì) a和 b的訪(fǎng)問(wèn),所以函數(shù) swap( )的定義中修改了 m和 n的值,也就改變了main( )中變量 a和 b的值。 ? 由此例可以看出,引用傳遞和指針傳遞實(shí)現(xiàn)的功能一樣,但其語(yǔ)法更清楚簡(jiǎn)單。 ? 3.引用返回值 ? 通常情況下,一個(gè)函數(shù)調(diào)用是不能出現(xiàn)在賦值運(yùn)算符左邊的。 ? 引用可以作為函數(shù)的返回值,如果一個(gè)函數(shù)的返回類(lèi)型是一個(gè)引用的話(huà),則該函數(shù)的調(diào)用可以出現(xiàn)在賦值運(yùn)算符的左邊。 ? 例 113 ? include ? int a[ ]= {1,3,5,7,9}。 ? intamp。 func(int i) //定義返回引用的函數(shù) ? { ? return a[i]。 ? } ? void main( ) ? { ? func(2)=6。 //將 a[2]重新賦值為 6 ? coutfunc(2)endl。 ? } ? 程序運(yùn)行結(jié)果為 : ? 6
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1