陣列指標小結

2021-10-07 16:19:52 字數 768 閱讀 1090

#include

#include

#include

void

main()

;//arr=0x11 ;編譯不了,無法改變指標變數的值。

typedef

int(myarr5)[5

];//給陣列指標賦值需要。。。。。&arr

myarr5 *parray=

&arr;

for(i =

0; i <

5; i++

)//相當於定義了乙個陣列指標

//多用如下定義陣列指標:

int c[5]

=;int(

*myp)[5

]=&c;//定義乙個指向陣列的指標變數。

for(i =

0; i <

5; i++

)system

("pause");

}

此處有個易混點:

char *p[i]:是指標陣列,即元素為位址的陣列,p是指標變數,p[i]為各元素的值,亦即位址值。一般用於做關鍵字選單,或main函式的命令列引數。

char (*myp)[i]:是陣列指標,即(指向型別為陣列的記憶體塊的)指標,myp是指標變數,myp的值為陣列的首位址,(*myp)[i] 取此陣列首位址的記憶體塊的第i個元素。

char (*myp)[i] 可以從運算子優先順序角度理解,可以看做先有(*myp),後有[30],所以可以認為是先有指標myp,然後i表示myp+1的步長是i個char的大小。

陣列和指標小結

陣列和指標小結 include using namespace std 小結 1.對於靜態n維陣列而言,識別符號代表的總是乙個一維陣列的位址,這個一維陣列的每個 元素就是乙個n 1維陣列,依次類推 2.如果識別符號是a,則 a,a,a的值是相同的 這個很特殊 但是其代表的意義是不同的 3.字元陣列或...

指標和陣列小結

指標在32位程式中佔4個位元組,在64位程式中佔8個位元組。陣列指標 int p 10 指標陣列 int a 10 1 一維陣列int a 4 如上面的陣列a,a為陣列名,代表陣列首元素的位址,其本質是位址,所以可以將其看為普通的指標。a,代表陣列的位址,可以將其看成陣列指標。2 二維陣列int a...

C 陣列與指標小結

1 陣列指標 乙個指向陣列的指標 int arr 3 int p 3 arr for int i 0 i 3 i 2 指標陣列 乙個存放指標的陣列 int a 1,b 2,c 3 int parr 3 for int i 0 i 3 i 3 函式指標 乙個存放函式位址的指標 void func in...