1.當p是數(shù)據(jù)變量時,*p乘以p.
創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站設計、外貿營銷網(wǎng)站建設與策劃設計,呈貢網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設10余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:呈貢等地區(qū)。呈貢做網(wǎng)站價格咨詢:189820811082。當p是一個有效的指針變量時,*p表示取p所指的目標值。
3。在聲明語句中,*不與P組合,而是與前面的類型字符組合,這意味著聲明此類型的指針變量P——例如,int*P意味著聲明int*變量P。
c語言中p*是什么意思?c語言中*p=a是什么意思?假設我們定義了一個指針P,那么通常使用三個符號:
1,P;
2,*P
3,&P初學者經(jīng)常感到困惑。這三個符號是什么意思?我們知道P是指針變量的名稱,它表示指針變量指向的內存地址。如果使用%P輸出,它將是一個十六進制數(shù)。和*P表示存儲在該指針指向的內存地址中的內容,它通常是與指針類型一致的變量或常量。我們知道&是地址運算符,&是指針P的地址。等等,怎么會有另一個地址?它和P有什么區(qū)別?不同的是指針P也是一個變量。因為它是一個變量,編譯器必須為它分配一個內存地址,就像程序中定義的int變量I一樣,編譯器需要為它分配一個內存空間。And&P是編譯器為變量p分配的內存地址,因為p是指針變量,所以這個特殊的標識將指向另一個內存地址。程序員根據(jù)程序的需要把它指向一個內存地址,它指向的內存地址用P來表示。另外,P指向的地址的內容用*P來表示。讓我舉一個例子來說明這三個符號的含義。假設有一個房地產銷售員,當然,現(xiàn)在流行的名字是“銷售代表”等等,我們用字母X來代表他。他負責出售房地產的房子。房子里有一個a的地址,他也需要一個住的地方。他住的房子的地址是B,幸運的推銷員很快就把房子賣給了C,現(xiàn)在公司要求出售的房子必須承包給每戶,也就是說,當提到x時,可以管理到C,如果用程序來表示以上內容,可以用指針。首先,我們定義一個指向地址a的指針p,其中C存在,B存在。好了,現(xiàn)在你知道P,*P,&P是什么意思了?是的,P是指這個指針指向的地址,它是a,*P是指住在這個地址的人,它是C,&P是指銷售員居住的地址,它是B。
c語言中,*p--=0什么意思?*P--=0表示指針P指向的內存單元被分配到0,然后指針P的地址被1減去。
可以通過以下程序段理解:
inta[]={1,2,3,4}//定義int類型數(shù)組并初始化它。Int*P=&A[2]//定義一個Int類型指針變量,并指向內存單元printf(\%x\n“,P)//a[2]所在的位置。輸出指針P的內存地址,結果為0x2cfb28*P--=0//將內存地址為0x2cfb28的內存單元賦值為0(即a[2]=0),然后從內存地址中減去4(因為int類型占4個內存單元)printf(\%X\n”,P)//輸出指針P的內存地址,結果為0x2cfb24
執(zhí)行上述程序后,數(shù)組A的值為1204