c語言中p與P有什麼區別,c語言中p5與P5有什麼區別?

2021-05-29 22:48:08 字數 2518 閱讀 2524

1樓:日常吃瓜愛好者

舉例說明,#include

int main()

;int  (*a)[5] = &b;

int  *m = a;        //a範圍內的空間按照 int大小來取值

for(i = 0;i<5;i++)

return 0;

}輸出結果為 1 2 3 4 5

其中  int  (*a)[5]  表示在棧中產生一個大小為   5個int的空間  a代表的的是整個空間的首地址

int  *m = a;定義的是它的取值偏移量,也就是說一個整形指標*m 首地址為開闢的a的空間的首地址

由(*a)[5]產生一個空間大小為5個int的空間,空間的首地址和陣列的首地址相同,只是一個空間而已沒有定義其取值方式,由short  *m = a;表示取其空間大小為short的型別,這個型別和int (*a)[5]沒有關係,int (*a)[5]值負責產生空間,沒有型別,有點類似於malloc 函式。

c語言中int *p[5]與 int (*p)[5]的區別

2樓:姓從蓉祕素

你是不想問

int*p[

]和int

(*p)

[]的區別啊[]

的優先順序高於*

所以前者表示指標陣列,而後者是陣列指標,例如int*p[6]

表示p有6個元素,每個元素又是一個int型指標變數。int(*p)[6]表示指向具有6個元素的一維int型陣列的陣列指標變數

3樓:衄潲

樓上說的是錯的,int *p[5],首先

它是一個陣列,它的大小是5,它裡面存放的資料型別是int *,也就是整型指標。 所以它叫指標陣列、 (從右向左解析這個表示)

int (*p)[5],首先p是一個指標,指向大小為5的陣列,因此這叫陣列指標。(括號優先)

這個在《c專家程式設計》裡面說的很清楚。你可以看一下。

4樓:庾詩珊趙寄

int(*p)[4];//是指向一個2維陣列的指標int**p;//是一個指標的指標

兩個都是指向地址的

int(*p)[4]

是接收二維陣列的地址(常量)

int**p

是接收指標變數的地址(變數)

我是這麼理解的,不知道對不。

5樓:貴華燦僧琛

你確定你輸入的語句沒有問題嗎?

int*p();//這是一個整型指標函式,

int(*p)();//這個不能成為語句。

6樓:陳大濤

其實我們先討論一個優先順序的問題,的優先順序高於*,這就是為什麼後者加了一個(),int *p[5]定義一個指標陣列p,講到底這個p是一個陣列,陣列內的元素是5個指標,而陣列內的每一個指標指向一個int型的變數;int (*p)[5]定義了一個指向5個元素的一維陣列的指標。

7樓:匿名使用者

第二個就是這個指標所指的值是一個大小為5個int的陣列的首地址。換句話說,p+1(陣列地址+1)代表記憶體地址下移了5個單位。

8樓:匿名使用者

int *p[5]那麼p[0]是一個int指標

int (*p)[5] 那麼p是一個指向陣列的指標

在c語言中,(*p)[3]和*p[3]有什麼區別?

9樓:非常可愛

定義的不同:

1、*p[3] 這個是一個指標陣列,它所代表的意思是每一個元素都相當於一個指標變數;

例:int a=10,b=20,c=30;

int*p[3]=;

2、(*p)[3] p是一個指標變數,表示指向含有3個整型元素的一維陣列;

例:int a[3]=; 那麼p就是指向這個陣列a的指標;

int(*p)[3]=&a; // 這裡賦值一定要用取地址符號,也就是取陣列a的地址。

擴充套件資料

定義方法:*指標變數名即*p

這個p一般指向的一維陣列的首地址,即p=a,或者p=&a[0];p,a,&a[0]均指向同一單元,它們是陣列a的首地址,也是0號元素a[0]的首地址。p+1,a+1,&a[1]均指向1號元素a[1]。類推可知p+i,a+i,&a[i]。

main()

pa=a;

for(i=0;i<5;i++)}

10樓:匿名使用者

(*p)[3]是說p指向一個二維陣列,陣列列數為3列,行數不定,比如int a[5][3];

p=a;所以p是一個二維陣列指標。

而*p[3]呢是一個指標陣列,即p[0],p[1],p[2]分別都是一個指標,如int *p[3];

int a[3],b[3],c[3];

p[0]=a;p[1]=b;p[2]=c;

這樣可以理解麼

11樓:匿名使用者

前者是行指標(一個指標能指向一行),後者是一個存放指標型別資料的陣列。

c語言中與的區別,c語言中「 」與「 」有什麼區別?

c語言中 與 的區別如下 是否為單行註釋 是用於多種語言的單行註釋語句。是註釋語句,不限制行數,在 和 之間的即為註釋。實用性的區別 是用於多種語言的單行註釋語句,適用方便快捷,但是實用性不如多行註釋 是註釋語句,不限制行數,在 和 之間的即為註釋,實用性大,但是符號鍵盤敲打麻煩。程式編譯時,不對註...

c語言中a與a有什麼區別,C語言中a與a的區別是什麼?詳細一點,謝謝!

這要看a是什麼了,如果a是指標變數,那麼a代表這個指標變數,a代表這個指標變數所指向的目標。如果不是指標那麼 a不是正確的寫法。c語言中a 與 a的區別是什麼?詳細一點,謝謝!a 是先返回a的值,再執行 運算。a 是先執行 運算,在返回a的值。例如 include int main a 7a 先使用...

C語言p是什麼意思,C語言中p和P的含義是什麼?

我來給你解釋一下 這是定義了兩個指標 p 0 p 1 或者說定義了一個成員為2個的指標陣列。清楚了吧?c語言中 p 和 p 的含義是什麼?你的疑問恐怕是出在二維陣列裡吧 例如 int a 3 5 p p a 上面的第一行表示定義一個指標變數p,下面一行表示p指向陣列a的首行a 1表示下一行首地址 p...