指標陣列實質上是乙個陣列,陣列元素是指標,如下所示:
int *p; //陣列元素是整型指標,與直接定義陣列一樣,可以不指明元素個數
int *p[n];
char *p; //陣列元素是char指標
char *p[n];
例1:
//指向char指標的陣列用的最多
char *p = ;
cout
<< p[0]<<'\n'; //輸出p[0]的值
例2:
int a,b,c;
int*p1 = ;
intx[4],y[4],z[4];
int*p2 = ;
cout<<*p1[0]<<'\n'; //輸出p1[0]的值
其實直接稱陣列指標不好理解,說白了,陣列指標就是乙個多維陣列,
一般來說,除陣列的第一維(下標)可以不指定大小外,其餘各維都必須明確指定大小。所以陣列指標形式如下:
int (*p)[13];
int a[3][4] = ,,};
int (*p)[4];
p = a;
cout<<*(*(p+i)+j)<<'\n'; //輸出第i行,第j列的元素值
cout
<
int *p(void); //表示函式,此函式無參,返回整型指標。
int(*p)(void) ;//表示函式指標,可以指向無參,且返回值為整型指標的函式。
例:
int
max(int x,int y)
int main()
指標與陣列,指標陣列 陣列指標
int a 10 print n a p,a p a,a print n a 1 p,a 1 p a 1,a 1 a做乙個指標,步長為4,指向乙個元素,a做乙個指標,步長為40,指向乙個維陣列 int b 3 4 print n b p,b p,b p b,b,b print n b 1 p,b 1...
陣列 指標陣列與陣列指標
一 陣列型別 int a 10 printf a d,a 1 d n a,a 1 printf a d,a 1 d n a,a 1 輸出結果 2 陣列元素的首位址是常量,不能修改,這是為了釋放記憶體空間所必需的,否則找不到釋放記憶體空間的首位址了 3 定義乙個陣列型別 定義陣列型別的格式如下 typ...
指標陣列與陣列指標
1.指標陣列 指標陣列中每乙個元素都是乙個指標,也既是存放字串的首位址。所以指標陣列適合處理若干個長度不等的字串。定義的一般形式為 型別說明符 指標陣列名 陣列長度 例如 int p 3 宣告乙個陣列,指標陣列p,由3個int型別指標變數元素組成 從運算子的優先順序分析,由於 的優先順序大於 所以p...