【C++】C++指針與數(shù)組的學(xué)習(xí)小結(jié)(二)
作者: 鄭曉 分類: 編程基礎(chǔ) 發(fā)布于: 2012-10-25 23:33 瀏覽:7,340 評論(3)
上一篇【C++】C++指針與數(shù)組的學(xué)習(xí)小結(jié)(一)里主要介紹了一些C++指針的基礎(chǔ)知識,講到了指針與數(shù)組名的關(guān)系。今天復(fù)習(xí)一下指針的運算、指針與數(shù)組的表示法以及數(shù)組的靜態(tài)與動態(tài)聯(lián)編。
一、指針的運算,C++允許將指針和整數(shù)進行相加運算。如將指針加1的結(jié)果等于原來的地址加上指向的對象所占用的總字節(jié)總數(shù)。當(dāng)然,你還可以將兩個指針進行相減以獲得兩個指針的差,這一種運算結(jié)果是一個整數(shù),應(yīng)該是相差的字節(jié)倍數(shù),僅當(dāng)兩個指針指向同一個數(shù)組(或指向超出結(jié)尾的一個位置)時,這種運算才有意義。
二、表示法,平時使用方括號數(shù)組表示法等同于對指針解除引用,arr[0]等價于*arr,arr[2]等價于*(arr+2),數(shù)組名和指針變量都是如此,所以對于指針和數(shù)組來說,既 可以使用數(shù)組方括號表示法,也可以使用指針表示法。
三、數(shù)組的聯(lián)編。在使用數(shù)組聲明創(chuàng)建數(shù)組時,數(shù)組的長度在編譯時設(shè)置,這叫做靜態(tài)聯(lián)編,如 int arr[10] ;
在使用關(guān)鍵詞new 來創(chuàng)建數(shù)組時,程序會在運行時為數(shù)組分配空間,其長度也將在程序運行時動態(tài)設(shè)置,所以這種方式也叫做動態(tài)聯(lián)編。使用完這種動態(tài)聯(lián)編的數(shù)組后需要使用delete[]來釋放其占用的內(nèi)存,實例如下:
int arrSize;
cin>>arrSize;
int * p = new int [arrSize]; //動態(tài)創(chuàng)建數(shù)組
…程序使用…
delete [] p; //刪除數(shù)組 釋放內(nèi)存
本文采用知識共享署名-非商業(yè)性使用 3.0 中國大陸許可協(xié)議進行許可,轉(zhuǎn)載時請注明出處及相應(yīng)鏈接。
本文永久鏈接: http://m.yjfs.org.cn/c-pointers-and-arrays-learning-summary-b.html
學(xué)著東東非常的難呀