我只是想確定C語言中的* a [5]和(* a)[5]之間的區別。定義char a [5]和char(* a)[5]之間有什麼區別?
我知道* a [5]意味着數組a可以有五個元素,每個元素都是指針。 so,
char *p = "ptr1";
char *p2 = "ptr2";
char *a[5] = { p , p2 };
確實有道理。
但是,當我將*a[5]
更改爲(*a)[5]
它不起作用。
char (*a)[5] = { p , p2};
(*a)[5]
是什麼意思?
此外,
有*a[5]
和a[5][]
,並(*a)[5]
和a[][5]
之間有什麼區別?
請注意,OP沒有將第2條聲明作爲聲明寫入,而是作爲分配。 – user2485710
@ user2485710是的,我認爲他的意思是。在我看來,這樣做更有意義。無論如何,埃米爾已經得到了另一個案件的答案。 –