當前位置:成語大全網 - 書法字典 - c語言*p和p有什麽區別?

c語言*p和p有什麽區別?

在C語言中,*p和p常用於指針中來表示指針變量。*p和p的區別是:

1有不同的含義。

*p表示指針指向的內存地址中存儲的內容。

p表示指針變量的名稱,並引用該指針變量所指向的內存地址。

2.輸出格式不同。

*p通常是與指針類型壹致的變量或常數。

p輸出是壹個16的十六進制數。輸出指針的地址。

3.不同的功能

*p是讓程序去那個地址取數據。

p存儲地址。

示例:

1、int a【5】= { 1,2,3,4,5 };

int * p = a;//這是在定義指針變量p時直接對其進行初始化,也就是將數組A的第壹個地址賦給它。

2、int a【5】= { 1,2,3,4,5 };

int * p;//聲明指針變量p

p = a;

擴展數據

(*p)操作是將p的值作為地址空間的值返回的操作。(& ampp)是壹個返回當時聲明p時打開的地址的操作。您可以使用賦值語句為內存地址賦值。

示例:

int * p;

p = 2003H

*p=3000H

結果:

* * p = *((p))= *((2003h))= *(3000h)= 3000h。

& amp& ampp = & amp(& amp(p)。(3001H),此時存在錯誤。3001H是常數,不能存儲地址。

* & ampp = *(& amp;(p))= *(3001H)= 2003h,表示* &;p=p。

百度百科-P(C語言)

百度百科-指針