p和p1有什麼區別,各自的含義是什麼呀求解,急

2021-05-29 01:23:57 字數 2268 閱讀 7117

1樓:匿名使用者

表示式*p++就是*(p++),值就是*p,只不過最後有個指標p的指向改變

但是表示式*p+=1,也就是*p=*p+1,那是吧*p指向的內容加一,並且p的指向始終未變

2樓:匿名使用者

*p++ 指的是對p所指的值的操作結束後,p指向下一個地址;

*p+=1 就是值p所指向的值加1

int(*p)[4]是什麼意思,int(*p)[4]=a又是什麼意思呢?謝謝~~~~

3樓:匿名使用者

int (*p)[4]=a ; 定義一個行指標,並指向二維陣列的第0行(a 在這裡表示二維陣列的首地址,即第0行的首地址,這和一維陣列有些區別) int *q=a[0]; 或者 int *q = &a[0][0]; 這兩個效果一樣, 都建立了一個簡單的整型指標,並指向二維陣列第一個元素的首地址,這樣的話 指標可以在陣列中逐個訪問陣列元素.(在二維陣列 a[3][4]裡 a[0] 表示第0行第0列元素的地址,依次類推 a[i]+j 表示第 i 行第 j 列元素的地址) (*p)[i+i/2]=*q+1; 這段**只執行一次, (*p)[i+i/2] 表示第0行第 0 列的元素((*p)與a[0]是等價的) *q表示 第0 行第0列元素的值1,所以這句話的意思是把 二維陣列的第一個元素加 1,變成2 ,p++,++q這句話執行兩次,p指向第2行,q指向第2列,接下來就是顯示 a[0][0] a[1][1] a[2][2] ( a[0][0]已經變為2),*((int *)p) 與 a[2][0]等價 *q 與 a[0][2]等價

個人見解 ,僅供參考!

4樓:

int(*p)[4]:ptr為指向含4個元素的一維整形陣列的指標變數(是指標);

至於int(*p)[4]=a表示對[4]表示的指標變數賦值,不過嚴格來說如果前面是型別定義語句,後面這個表示就越界了。

答案為什麼是5?如題 謝謝了

5樓:憽人擦

這個問題的關鍵是理解 &a a是一個陣列名,也就是陣列的首地

址。 對a進行取地址運算子, 得到的是一個指向陣列的指標 !!!!這句話尤為重要!

也就相當於 int (*p) [5] = &a; p是一個指標,它指向的是一個包含5個int元素的陣列!! 那麼執行p+1後,p的偏移量相當於 p + sizeof(int) * 5 !! 而程式中強制將指標p轉換成一個int* 那麼 p -1 其實就是 p - sizeof(int) 所以,p -1 指向了陣列中得最後一個元素,也就是 5

麻煩採納,謝謝!

c語言中 int *p[4]和int (*p)[4]在定義和使用方面有什麼區別? o(∩_∩)o謝謝

6樓:勞傷痕

*p[4]這指標陣列,定義一個陣列,裡面存放的是指標。

(*p)[4]定義的是一個指向一維陣列的指標,這是一個指標,p++相當於p的地址相加了1*4

舉例說明:

#include

void main()

,};int *p[4],(*q)[2];

q=a;

p[0]=&a[0][0];

p[1]=&a[0][1];

p[2]=&a[1][0];

p[3]=&a[1][1];

for(int i=0;i<4;i++)

printf("%d\t",*p[i]);

printf("\n");

for(int j=0;j<2;j++,q++)printf("\n");

}}輸出的結果是:

指標陣列:1,2,8,9指標陣列中的每個元素都要給其賦予地址,否則出錯

陣列指標:1,9陣列指標只要開始賦值頭地址,之後執行q++是相加維數,所以結果是1,9而不是1,2

7樓:

//舉例說明:

int *p1[4];//定義指標陣列。這個陣列有四個元素,每個元素都是指向整形變數的指標。

int (*p2)[4];//定義一個指標變數,指向一行有四個整形元素的行指標;

int a[4];

int b[5][4];

的元素分別指向一維陣列a的每一個元素。

p2=b;//p2指向二維陣列b的第一行。

s彎和p彎有什麼區別,S彎和P彎有什麼區別?

一 用途不同 1 s形存水彎 用於與排水橫管垂直連線的場所。2 p形存水彎 用於與排水橫管或排水立管水平直角連線的場所。二 形狀不同 1 s形存水彎 有三個口,是s的形狀。2 p形存水彎 有兩個口,彎鉤的形狀。地漏下的存水彎 有些工程人員認為帶扣碗地漏含有水封,能防臭,故不需在地漏下再安裝存水彎,其...

p6p7有什麼區別,P6與P7有哪些區別

首先外觀上整合了華為p系列的家族風格,變化不大 但是做工上提升了一個檔次。正反大猩猩玻璃,以前是金屬拉絲 容易導熱 但是首先p6採用華為一代處理器,容易發燙,相容性不好,玩大型遊戲會出現卡的現象 而p7採用的是華為第二代處理器,完美的解決了容易發燙和相容問題,幾乎所有大型遊戲都能玩 畫素上p7是13...

p2p網貸和傳統金融有什麼區別,P2P網貸和傳統金融有什麼區別?

1 p2p對錯常有用的金融途徑,其供給的資訊量大,進入門檻較低。而傳統的出資融資途徑門檻過高,使個人和實力較弱的中小型公司無法經過其來滿意本身的資金需要。2 p2p操作過程簡略,本錢較低。而傳統金融形式的操作過程雜亂,本錢較高,這也是為何傳統金融形式很少觸及小額貸款的緣由。3 p2p形式的透明性高。...