2017 09 14

對下列相關(guān)知識點的學習以及練習編寫時對指針的應(yīng)用:

一.對象數(shù)組

1.聲明:

類名? ? 數(shù)組名[元素個數(shù)]; Circle round[\0];

2.訪問方法:

通過下標訪問? 數(shù)組名[下標].成員名

3.對象數(shù)組初始化

·數(shù)組中每一個元素對象被創(chuàng)建時,系統(tǒng)都會調(diào)用類構(gòu)造函數(shù)初始化該對象。

·通過初始化列表賦值。

·如果沒有為數(shù)組元素指定顯式初始值,數(shù)組元素便使用缺省值初始化(調(diào)用缺省構(gòu)造函數(shù),即無參數(shù)的構(gòu)造函數(shù))。

二.

1.內(nèi)存空間的訪問方式

·通過變量名訪問,稱為直接訪問

·通過地址訪問,稱為間接訪問

2.地址運算符:&

int var;? 則&var? 表示變量var在內(nèi)存中的起始地址

3.指針變量的概念

·概念

指針:另一個變量的地址,用于間接訪問變量

指針變量:用于存放地址的變量

·聲明

例: int i;

int *i_pointer=&i;? ? 指向整型變量的指針

4.指針變量的賦值運算

指針名=地址

“地址”中存放的數(shù)據(jù)類型與指針類型必須相符。

向指針變量賦的值必須是地址常量或變量,不能是普通整數(shù)。但可以賦值為整數(shù)0,表示空指針。

指針的類型是它所指向變量的類型,而不是指針本身數(shù)據(jù)值的類型,任何一個指針本身的數(shù)據(jù)值都是unsigned long 型。

允許聲明指向 void 類型的指針。該指針可以被賦予任何類型對象的地址。


·當數(shù)組中每一個對象被刪除時,系統(tǒng)都要調(diào)用一次析構(gòu)函數(shù)。

二.指針

1.內(nèi)存空間的訪問方式

·通過變量名訪問,稱為直接訪問

·通過地址訪問,稱為間接訪問

2.地址運算符:&

int var;? 則&var? 表示變量var在內(nèi)存中的起始地址

3.指針變量的概念

·概念

指針:另一個變量的地址,用于間接訪問變量

指針變量:用于存放地址的變量

·聲明

例: int i;

int *i_pointer=&i;? ? 指向整型變量的指針

4.指針變量的賦值運算

指針名=地址

“地址”中存放的數(shù)據(jù)類型與指針類型必須相符。

向指針變量賦的值必須是地址常量或變量,不能是普通整數(shù)。但可以賦值為整數(shù)0,表示空指針。

指針的類型是它所指向變量的類型,而不是指針本身數(shù)據(jù)值的類型,任何一個指針本身的數(shù)據(jù)值都是unsigned long 型。

允許聲明指向 void 類型的指針。該指針可以被賦予任何類型對象的地址。

5.指針變量的算術(shù)運算

指針與整數(shù)的加減運算:指針 p 加上或減去 n ,其意義是指針當前指向位置的前方或后方第 n 個數(shù)據(jù)的地址。這種運算的結(jié)果值取決于指針指向的數(shù)據(jù)類型。指針加一,減一運算,指向下一個或前一個數(shù)據(jù)。

6.指向數(shù)組元素的指針

聲明與賦值

例:? int a[10],? *pa;

pa=&a[0]; 或 pa=a;

通過指針引用數(shù)組元素經(jīng)過上述聲明及賦值后:

*pa就是a[0],*(pa+1)就是a[1],... ,*(pa+i)就是a[i].? a[i], *(pa+i), *(a+i), pa[i]都是等效的。不能寫 a++,因為a是數(shù)組首地址是常量。

7.指向類類型對象的指針:

聲明形式:類名? *對象指針名;

通過指針訪問對象成員? 對象指針名->成員名

三.動態(tài)內(nèi)存分配

1.動態(tài)申請內(nèi)存操作符 new? ? ? new? 類型名T(初值列表);

·功能:在程序執(zhí)行期間,申請用于存放T類型對象的內(nèi)存空間,并依初值列表賦以初值。

·結(jié)果值:成功:返回指向T類型的指針,指向新分配的一個T類型的內(nèi)存空間的首地址。失敗:0(NULL)

2.釋放內(nèi)存操作符delete

用new申請的動態(tài)空間使用完畢后,必須有程序員主動進行釋放。

·功能:釋放指針P所指向的內(nèi)存。P必須是new操作的返回值。

3.指針數(shù)組

數(shù)組的元素是指針型

Point? *pa[2];? ? ? 由pa[0],pa[1]兩個指針組成,都指向Point類型的對象。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運用指針編程是C語言最主要的風格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,612評論 3 44
  • void* 類型指針:通用變體類型指針;可以不經(jīng)轉(zhuǎn)換,賦給其他指針,函數(shù)指針除外;malloc返回的就是void*...
    冰吉凌閱讀 3,517評論 0 18
  • 1.語言中變量的實質(zhì) 要理解C指針,我認為一定要理解C中“變量”的存儲實質(zhì), 所以我就從“變量”這個東西開始講起吧...
    金巴多閱讀 1,972評論 0 9
  • 就算我只有 七秒的記憶 我會在第八秒 再一次,愛上你
    月宛央閱讀 136評論 0 3
  • 今天是禮拜天,我和媽媽寫了作業(yè),寫了語文,我還會讀了練習題,我很高興,媽媽表揚了我,然后媽媽給我點了100個贊,隔...
    蘇暢寶閱讀 166評論 0 0

友情鏈接更多精彩內(nèi)容