當前位置:博客首頁>>編程基礎 >> 閱讀正文

【C++】C++指針與數組的學習小結(二)

作者: 鄭曉 分類: 編程基礎 發(fā)布于: 2012-10-25 23:33 瀏覽:7,157 評論(3)


上一篇【C++】C++指針與數組的學習小結(一)里主要介紹了一些C++指針的基礎知識,講到了指針與數組名的關系。今天復習一下指針的運算、指針與數組的表示法以及數組的靜態(tài)與動態(tài)聯編。

一、指針的運算,C++允許將指針和整數進行相加運算。如將指針加1的結果等于原來的地址加上指向的對象所占用的總字節(jié)總數。當然,你還可以將兩個指針進行相減以獲得兩個指針的差,這一種運算結果是一個整數,應該是相差的字節(jié)倍數,僅當兩個指針指向同一個數組(或指向超出結尾的一個位置)時,這種運算才有意義。

二、表示法,平時使用方括號數組表示法等同于對指針解除引用,arr[0]等價于*arr,arr[2]等價于*(arr+2),數組名和指針變量都是如此,所以對于指針和數組來說,既 可以使用數組方括號表示法,也可以使用指針表示法。

三、數組的聯編。在使用數組聲明創(chuàng)建數組時,數組的長度在編譯時設置,這叫做靜態(tài)聯編,如 int arr[10] ;

在使用關鍵詞new 來創(chuàng)建數組時,程序會在運行時為數組分配空間,其長度也將在程序運行時動態(tài)設置,所以這種方式也叫做動態(tài)聯編。使用完這種動態(tài)聯編的數組后需要使用delete[]來釋放其占用的內存,實例如下:

int arrSize;

cin>>arrSize;

int * p = new int [arrSize]; //動態(tài)創(chuàng)建數組

…程序使用…

delete [] p; //刪除數組 釋放內存

 

? ? ? ?

本文采用知識共享署名-非商業(yè)性使用 3.0 中國大陸許可協議進行許可,轉載時請注明出處及相應鏈接。

本文永久鏈接: http://www.yjfs.org.cn/c-pointers-and-arrays-learning-summary-b.html

【C++】C++指針與數組的學習小結(二):目前有3 條留言

用戶評論頭像 洗煤機發(fā)表于 2013年08月05日 16:12[回復]

學著東東非常的難呀

用戶評論頭像 蔡佳網站發(fā)表于 2012年10月28日 23:55[回復]

你平時還學C++嗎?你現在的工作是做什么的?

    用戶評論頭像 鄭曉發(fā)表于 2012年10月29日 07:22[回復]

    工作是php,這個c++只是了解一下,這么強大的語言不能不了解吧?

發(fā)表評論

change vcode