C語言 陣列指標

2021-10-02 08:18:38 字數 812 閱讀 7621

陣列指標

陣列指標和指標陣列不是同乙個概念,陣列指標:指向陣列的指標,前提他是個指標。指標陣列:前提他是個陣列,但是陣列的每乙個元素都是指標;

//格式:

int(

* p)[10

];//定義乙個指標p指向乙個陣列,這個陣列有10元素

//如果沒有()

int* p[10]

;//定義乙個有10個元素的陣列,陣列的每乙個元素都是int型的指標

//例程1:

int(

* p)[10

];int a[10]

=(* p)

=a;//語句錯誤,因為p是個指標,(* p)只能賦值常量,不能賦值字元常量位址

p=a;

//這樣也錯,a雖然是陣列的首位址但是p是個指標,誤解:首位址直接賦值給p,原因:對於p來說是個沒有帶*指標,它的賦值只能是賦值位址,我猜想對於編譯器只是把a當做字元。

p=&a//這是對的,指標的賦值一定要是位址

printf

("%d",(

*p)[1]

);//例程2:

//陣列和指標分開定義,然後用指標指向陣列這和陣列指標不一樣。

int a[10]

=;int*p;

//int (* p)[10]=null;

//(* p)=a[0];

//p=(&a);

p=a;

for(p; p<

(a+10

); p++

)

暫且分析到此,分析過程不盡如人意

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...