C的指標變數中,p與p有什麼區別

2021-03-04 04:42:46 字數 3745 閱讀 1863

1樓:匿名使用者

#include

void main()

程式輸出屬結果:

*p=5

p=0x0012ff7c

press any key to continue

2樓:匿名使用者

p指向的是地址,*是解除操作符,加在p前面是為了獲取儲存在這個地址的值

3樓:匿名使用者

int p = 10; // p 為一個整形變數

int *pn = &p; // *pn為一個指向p的指標.

4樓:匿名使用者

*p 值得是該指標指向的變數的值p指的是該指標指向的變數的記憶體地址

c++裡的**p和&p有什麼區別?(p是指標)

5樓:匿名使用者

**p是取得指標p所在的地址的值,而&p是取指標p所在的地址

c語言的指標部分*p與p的區別是什麼?

6樓:夏日絕

p是指標變數,其值是一個變數的地址。p收到了哪個變數的地址,就指向哪個變數。該變數成為p的物件。

*p是p所指向的物件的值。

例如:int i=3,*p;

p=&i; 注意:p收到i的地址,故p指向i,i是p的物件。

printf("%d,%d\n",i,*p); 輸出:3,3 注意:*p是p所指向的物件的值,即i的值。

c語言c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

7樓:酒天縱尤晟

賦值的時候*p表示這是一個指標,p表示是一個數

而用的時候如果p是一個指標,那麼*p表示所指向的內容,p本身存著一個地址。

8樓:莘赩蔚日

intpp=5;

//開闢4位元組記憶體給pp,其中存放的是5的二進位制值;

int*p=&pp;

//開闢4位元組記憶體給p,其中存放的是pp的地址值(只有定義成int*型別的才能存放地址值);

9樓:墨澄邈馮曼

舉個例子:

inta[5]=;

int*p;

p=&a[2];

++*p;//等同於++a[2],使p指向的值加1++p;//等同於p=a[2+1],使p指向目標陣列中的下一個元素a[3]

c語言的指標部分 *p與p區別

10樓:楓璽

c語言的指標部分 *p與p區別如下:

1、作用不同

*p表示此指標指向的記憶體地址中存放的內容。

p是一個指標變數的名字,表示此指標變數指向的記憶體地址。

2、輸出內容的格式不同

*p常用在一個和指標型別一致的變數或者常量。

p輸出一個指標的地址,通常是輸出一個16進位制的數。

3、效果不同

*p是讓編譯器從指定的地址中讀取出資料。

p是用來存放要讀取資料的地址。

擴充套件資料c語言中使用指標的作用:

1、指標使程式的不同部分能夠共享資料

類似於共享記憶體,如果將某一個資料值的地址從一個函式傳遞到另外一個函式,這兩個函式就能使用同一資料。

2、利用指標,能在程式執行過程中預留新的記憶體空間大多數情況下,可以看到程式使用的記憶體是通過顯式宣告分配給變數的記憶體。但是在很多應用場合中,可能程式執行時不清楚到底需要多少記憶體,使用指標可以讓程式在執行時獲得新的記憶體空間,並讓指標指向這一記憶體更為方便。

3、指標可以用來記錄資料項之間的關係

在高階程式設計應用中,指標被廣泛應用於構造單個資料值之間的聯絡。比如,程式設計師通常在第一個資料的內部表示中包含指向下一個資料項的指標(實際上就是連結串列了),來說明這兩個資料項之間有概念上的順序關係。

11樓:匿名使用者

p是指標變數,其值是一個變數的地址。p收到了哪個變數的地址,就指向哪個變數。該變數成為p的物件。

*p是p所指向的物件的值。

例如:int i=3,*p;

p=&i; 注意:p收到i的地址,故p指向i,i是p的物件

printf("%d,%d\n",i,*p); 輸出:3,3 注意:*p是p所指向的物件的值,即i的值。

祝學業進步!

12樓:匿名使用者

我舉個例子吧:

int k = 5;

int *p = &k;

這時*p就表示k的值5,而p表示的就是k的地址

13樓:龍嘯天風

賦值的時候*p表示這是一個指標,p表示是一個數

而用的時候如果p是一個指標,那麼*p表示所指向的內容,p本身存著一個地址。

14樓:鏡面世界

呃⋯⋯第二個前面無運算子相當於p,有運算子且p是函式名或函式指標時,加括號相當於p,不是則無意義,p是函式名且返回指標且是呼叫時,不加括號是返回的指標的間接引用,第一個p不是指標的話無意義,如果是指標(什麼指標都行,包括函式指標等不常用的,但不能是野指標,執行時會報錯),如果這個表示式前面是運算子號,相當於p,如果前面是另一個表示式,是*p與那個表示式位與,p是函式指標時加括號相當於p,p是函式指標或函式的二級指標且該函式返回引用時是返回的引用的記憶體地址。(呼!累死我了,給個滿意啊!

看不懂的話等我有時間弄個**)

15樓:匿名使用者

int pp=5; //開闢4位元組記憶體給pp,其中存放的是5的二進位制值;

int *p=&pp; //開闢4位元組記憶體給p,其中存放的是pp的地址值(只有定義成int *型別的才能存放地址值);

16樓:言玉甚人

p中放的是地址

int a=321;

int *p=a;

其實a是一個地址的別名,這樣方便人們識別;

p也是一個地址,並且儲存空間中的這個地址中放的是變數a即321這個數在儲存器中的地址,而「*」的作用就是將p這個地址中存放的數所代表的地址中所存放的資料。

17樓:顛兒父

int a = 1; // 記憶體中a有一個地址比如:

0x11 中存的值是 1

int *p = &a; // 記憶體中p有一個地址比如:0x22 中存的值是 0x11

p的值是0x11, *p的值是1

18樓:匿名使用者

*p是指標,裡面存的是裡面存的地址的數,p存的是地址

c++,請問*p=&a與p=&a(p是指標)有什麼區別

19樓:匿名使用者

p=&a容易理解,就是把變數a的地址存在指標p。*p=&a是把變數a的地址存放在指標p所指向的記憶體單元

20樓:匿名使用者

打個比方

int a = 1000;

int * p;

假設a存放於記憶體中的22222這個地址,那麼*p=&a相當於i=22222,而p=&a相當於使p指標指向a

21樓:匿名使用者

第一個是p指向的記憶體單元存上a的地址,第二句是p的值是a的地址

p n與 p n有什麼區別,c語言 p 與 ( p) 有區別嗎?運算順序如何?

操作符的優先順序在 p n這個式子中的優先順序是最高的,所以會先計算 p n的值,也就是a 0 n,再計算字首 所以最終結果是6 操作符的優先順序高於字首 操作符的優先順序,所以在 p n中會先計算p n的值,同樣也是a 0 n,然後再計算字首 所以最終結果也是6 因此,c和d都正確。p 表示把p的...

華為p40 和p40pro有什麼區別

華為p40pro 和p40pro的區別有 外觀方面 攝像頭方面以及充電方面。一 外觀方面 1 華為p40pro後置四攝,採用玻璃機身,顏色有亮黑色 深海藍 冰霜銀 晨曦金 零度白五種,機身尺寸為158.2 72.6 8.95mm,重209g。2 pro 後置五攝,有陶瓷白和陶瓷黑兩種配色,機身尺寸為...

p40 pro和p40 pro 有什麼區別

p40pro為什麼不建議買 華為p40pro是比較推薦購買的,並非不建議買。華為p40 pro是華為推出的一款5g旗艦手機,這款手機採用了麒麟990晶片,在效能上做到了無可挑剔。英寸oled曲面屏讓使用者能夠體驗到震撼的色彩,4200毫安時大電池讓使用者不用擔心電量不足的問題,是一款非常不錯的手機。...