#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...