c語(yǔ)言*p是什么意思 C語(yǔ)言中*p=a和p=&a意義一樣嗎?
C語(yǔ)言中*p=a和p=&a意義一樣嗎?與前者不同,前者:*P是內(nèi)存P地址中的單元格,*P=a取該單元格中的值為a;后者:P是變量,&A是變量的地址,P=&A是變量的內(nèi)存地址。c語(yǔ)言中*p=
C語(yǔ)言中*p=a和p=&a意義一樣嗎?
與前者不同,前者:*P是內(nèi)存P地址中的單元格,*P=a取該單元格中的值為a;后者:P是變量,&A是變量的地址,P=&A是變量的內(nèi)存地址。
c語(yǔ)言中*p=a是什么意思?
假設(shè)我們定義了一個(gè)指針P。然后經(jīng)常使用三個(gè)符號(hào):
1,P;
2,*P
3,&P初學(xué)者經(jīng)常感到困惑。這三個(gè)符號(hào)是什么意思?我們知道P是指針變量的名稱,它表示指針變量指向的內(nèi)存地址。如果使用%P輸出,它將是一個(gè)十六進(jìn)制數(shù)。和*P表示存儲(chǔ)在該指針指向的內(nèi)存地址中的內(nèi)容,它通常是與指針類型一致的變量或常量。我們知道&是地址運(yùn)算符,&是指針P的地址。等等,怎么會(huì)有另一個(gè)地址?它和P有什么區(qū)別?不同的是指針P也是一個(gè)變量。因?yàn)樗且粋€(gè)變量,編譯器必須為它分配一個(gè)內(nèi)存地址,就像程序中定義的int變量I一樣,編譯器需要為它分配一個(gè)內(nèi)存空間。And&P是編譯器為變量p分配的內(nèi)存地址,因?yàn)閜是指針變量,所以這個(gè)特殊的標(biāo)識(shí)將指向另一個(gè)內(nèi)存地址。程序員根據(jù)程序的需要把它指向一個(gè)內(nèi)存地址,它指向的內(nèi)存地址用P來(lái)表示。另外,P指向的地址的內(nèi)容用*P來(lái)表示。讓我舉一個(gè)例子來(lái)說(shuō)明這三個(gè)符號(hào)的含義。假設(shè)有一個(gè)房地產(chǎn)銷售員,當(dāng)然,現(xiàn)在流行的名字是“銷售代表”等等,我們用字母X來(lái)代表他。他負(fù)責(zé)出售房地產(chǎn)的房子。房子里有一個(gè)a的地址,他也需要一個(gè)住的地方。他住的房子的地址是B,幸運(yùn)的推銷員很快就把房子賣給了C,現(xiàn)在公司要求出售的房子必須承包給每戶,也就是說(shuō),當(dāng)提到x時(shí),可以管理到C,如果用程序來(lái)表示以上內(nèi)容,可以用指針。首先,我們定義一個(gè)指向地址a的指針p,其中C存在,B存在?,F(xiàn)在,AMPP,好吧,你知道嗎?是的,P是指這個(gè)指針指向的地址,是a,*P是指住在這個(gè)地址的人,是C,&;P是指銷售員住的地址,是B。
c語(yǔ)言中*p=a與*p=&a有什么區(qū)別?
首先,我們來(lái)談?wù)?和&。為了便于理解,您可以認(rèn)為*代表內(nèi)容,&代表地址。我將不討論它們之間的區(qū)別,因?yàn)?P=&A通常是錯(cuò)誤的,而P=&A是常用的。讓我們比較一下*P=A和P=&A??催@幅畫。非常詳細(xì)。顯然他們是等價(jià)的。然后比較*P=&A和P=&A,它們都是指針變量的賦值。賦值有兩種形式:①先定義后賦值,inta=3,*P(定義指針變量*P)P=&A(取指針變量的地址)②定義變量并賦值,inta=3,*P=&A,也就是說(shuō),在賦值中,int*P=&A等價(jià)于int*P,P=&A,它們之間的區(qū)別是int*P=&A定義*P并同時(shí)分配P(即a的地址分配給P),而P=&A只分配P而不定義指針變量。但是,應(yīng)該注意的是,只有同時(shí)定義賦值時(shí),“*P=&A”才是正確的。在其他情況下,不要使用*P=&A,因?yàn)樗静徽_,如下圖所示。我之前的問(wèn)題是為什么*P=&A沒有錯(cuò)?后來(lái),老師給出的解釋是,這個(gè)表格只有在上述情況下才有效,其他情況確實(shí)是錯(cuò)誤的。
*p=a與p=&a有什么區(qū)別?
1. 一般來(lái)說(shuō),*P=&A的表達(dá)式是錯(cuò)誤的,*P=A和P=&A是正確的。2*P=a的意思是把a(bǔ)的值賦給P指針指向的地址的值;3。P=&A的意思是將a的地址分配給P指針;4。區(qū)別:*P是一個(gè)值;P是一個(gè)地址;它們完全不同。5*表示P所指向的地址的值,它只是一個(gè)值;&是取地址符號(hào),它是地址;P是指針,它可以理解為指向的值的地址,*P是取P指針?biāo)赶虻牡刂返闹担?amp是取a的地址。擴(kuò)展數(shù)據(jù):指針有兩種含義:一種是作為數(shù)據(jù)類型,另一種是作為實(shí)體。1指針作為實(shí)體是計(jì)算機(jī)語(yǔ)言中用來(lái)保存內(nèi)存地址的變量。指針一般出現(xiàn)在較低級(jí)的編程語(yǔ)言中,如C語(yǔ)言。像Java這樣的高級(jí)語(yǔ)言通常避免使用指針,而不是引用。2作為數(shù)據(jù)類型,指針可以從函數(shù)類型、對(duì)象類型或不完整類型派生。從中導(dǎo)出的數(shù)據(jù)類型稱為引用類型。指針類型描述的對(duì)象的值是對(duì)所引用類型的實(shí)體的引用。