對(duì)C++中指針的深入研究_第1頁(yè)
對(duì)C++中指針的深入研究_第2頁(yè)
對(duì)C++中指針的深入研究_第3頁(yè)
對(duì)C++中指針的深入研究_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、對(duì)C+中指針的深入研究    2010-12-19 2:33:57      作者:王根義   代寫論文    摘  要:本文對(duì)C+各種類型的指針進(jìn)行了深刻全面地討論,把各種指針的常量,變量的聲明、賦值和訪問都一一列出,這對(duì)利用指針開發(fā)大型軟件的程序員來說無疑是一個(gè)非常有力的工具。本文還揭示了指針變量與數(shù)組名的內(nèi)在關(guān)系,以及類的靜態(tài)數(shù)據(jù)指針與非靜態(tài)數(shù)據(jù)指針的根本區(qū)別。關(guān)鍵詞:指針類型、指針常量、指針變量、數(shù)組名Abs

2、tract:All kinds of pointers in C+ are thoroughly and deeply discussed.The constant quantity,variables,the form of endowing with value and access to data are listed like a table.This is undoubtedly a useful tool to a programmer who develops big softwares.The author bring to light the relationship bet

3、ween the pointer variables and the name of number groups.He also reveals the essential distinction between a static pointer and non-static pointer. Keywords:pointer type data,pointer constant quantity,pointer variable,a number groups nameC+中的“指針”實(shí)質(zhì)上是指針類型的數(shù)據(jù),所以指針既有常量,也有變量。但是人們往往只是簡(jiǎn)單的說“指針”,沒有帶“常量”或“變量

4、”二字。那么,該“指針”到底是指常量呢還是指變量呢?這個(gè)問題要根據(jù)它所屬的那個(gè)整句才能回答。C+中的指針按照它所指向的對(duì)象可以劃分為變量指針、數(shù)組指針、函數(shù)指針、對(duì)象指針、類的成員數(shù)據(jù)指針和類的成員函數(shù)指針。一、變量指針設(shè)type代表任意一種基本類型說明符,X是該類型的變量,則:1、X的指針常量為&X。2、一個(gè)type型指針變量P的聲明格式為:type *P;3、使P指向X,也就是說用&X向P賦值的格式為:用&X初始化;在聲明了P后向P賦值。二、數(shù)組指針設(shè)A是一個(gè)有3行4列個(gè)type型變量元素的一個(gè)二維數(shù)組,則:1、A有兩個(gè)意義:表示這12個(gè)type型變量構(gòu)成的整體。表

5、示A<0>的地址,即A=&A<0>。A<0>也有兩個(gè)意義:表示A的第一行的4個(gè)type型變量構(gòu)成的整體(A中左下標(biāo)為0的一行元素);表示A<0><0>的地址。2、聲明一個(gè)指向type型的有3行4列個(gè)元素的二維數(shù)組的指針P的格式為:type(*P)<3><4>;聲明一個(gè)指向type型的有4個(gè)元素的一維數(shù)組指針P1的格式為: type(*P1)<4>;聲明一個(gè)指向type型變量的指針P2的格式為:type  *P2。3、使P指向A的方式為:用&A初始化P或在聲明了P后向 P賦值

6、;使P1指向A<1>的方式為:用“A+1”初始化P1或在聲明了P1后向P1賦值;使P2指向A<2><1>的方式為:用&A<2><1>初始化P2或在聲明了P2后向P2賦值。4、用 A和*來表示A<2><1>的表達(dá)式為*(*(A+2)+1),表示A<0><0>的表達(dá)式為*A。5、按3,用P和*來表示A<2><1>的表達(dá)式為*(*(*P+2)+1);用P1和*來表示A<2><1> 的表達(dá)式為*(*(P1+1)+1);用P2和*來表示A&l

7、t;0><0>的表達(dá)式為:*(P-6);用P、P1和P2來訪問A的元素有很多優(yōu)越性,如它們及其表達(dá)式可以進(jìn)行+運(yùn)算和- -運(yùn)算而指針常量卻辦不到。三、函數(shù)指針設(shè)一個(gè)函數(shù)的原型為:type fun (),則:1、 fun()的指針常量為fun2、聲明一個(gè)數(shù)據(jù)類型為type,形參表為FL的函數(shù)指針P的格式為:type (P)(FL);3、用一個(gè)數(shù)據(jù)類型為type形參表為FL的函數(shù)指針只能指向數(shù)據(jù)類型為type形參表為FL的函數(shù)。按(1)和(2),用P指向fun()的方式為:用fun初始化P或在聲明P后向P賦值。4、用P而不用fun來調(diào)用fun()的格式為:P(和FL對(duì)應(yīng)的實(shí)參表)

8、;四、對(duì)象指針設(shè)t是A類的一個(gè)對(duì)象,a和f( )分別是A的一個(gè)公有變量成員和公有函數(shù)成員,則:1、t的指針常量為&t;2、聲明一個(gè)指向A類的對(duì)象的指針P的格式為:A*P;3、使P指向t的方式為:用&t初始化P或者在聲明了P后再向P賦值。4、用P而不用t來表示t. a的格式為:P->a;用P而不用t來訪問f( )的格式為:P-> f( );五、類的數(shù)據(jù)成員指針設(shè)t是A類的一個(gè)對(duì)象,a是A的一個(gè)非靜態(tài)type型成員數(shù)據(jù),s是A的一個(gè)靜態(tài)type1型成員數(shù)據(jù),則:1、A:a的相對(duì)指針常量為&A: a;A:s的物理指針常量為&A: s2、可以指向A類的typ

9、e型非靜態(tài)成員的指針P1的聲明格式為:type  A:*P1; 可以指向A類type型靜態(tài)成員的指針P2的聲明格式為:type 1*p2;3、使P1指向A:a的方式為:用& A: a初始化P1或在聲明了P1后向P1賦值;使P2指向A:s的方式為:用& A: s初始化P2或在聲明了P2后向P2賦值。4、用P1而不用a來訪問t.a的格式為:t .* p1;用P2而不用s來訪問t.s的表達(dá)式為*P2六、類的函數(shù)成員指針設(shè)t是A類的一個(gè)對(duì)象,f(FL1)是A類的一個(gè)type型非靜態(tài)的函數(shù)成員,g(FL2)是A類的一個(gè)type1型靜態(tài)函數(shù)成員,則:1、A:f( )的相對(duì)指針常量

10、為A:f;A:g( )的物理指針常量為A:g2、可以指向A的非靜態(tài)type型形參表為FL1的函數(shù)成員的指針P1的聲明格式為type( A:*P1)(FL1);可以指向A的靜態(tài)type1型形參表為FL2的函數(shù)成員的指針P2的聲明格式為:type1(*P2)(FL2)3、使P1指向A:f( )的方式是:用A:f初始化P1或在聲明了P1后向P1賦值;使P2指向A:g( )的方式是:用A:g初始化P2或者在聲明了P2之后向P2賦值。4、用P1而不用f來訪問t.f()的格式為:(t.*p1)(實(shí)參表);這里的“*”為指針說明符而不是指針運(yùn)算符;用P2而不用g()來訪問t.g( )的格式為:P2(實(shí)參表)

11、;七、指針的特點(diǎn)1、數(shù)據(jù)指針+n=數(shù)據(jù)指針+(n×這個(gè)數(shù)據(jù)的字節(jié)數(shù))(n=整數(shù),n為小數(shù)不合法)。如:設(shè)P為一個(gè)int型指針,則P+2=P的值+8(2×4);設(shè)P1為一個(gè)有3行2列個(gè)int型變量元素的數(shù)組的指針,則P1+2=P1的值+2×24;設(shè)A類有16個(gè)字節(jié),P2是一個(gè)A類的指針,則P2+2=P2的值+2×16。2、下面的表達(dá)式不合法:函數(shù)指針+n。 參考文獻(xiàn)<1> 譚浩強(qiáng),C+程序設(shè)計(jì)教程,中國(guó)科學(xué)技術(shù)出版社,1995<2> Microsoft、何曉剛譯,Visual C+4.0教程,科學(xué)出版社,1997。<3> 劉衛(wèi)東、沈官林譯,數(shù)據(jù)結(jié)構(gòu)C+語言描述,北京,清華大學(xué)出版社,2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論