指標陣列定義
一維指標陣列的定義形式
型別名 *陣列名[陣列長度];
char *p[5];
乙個陣列,若其元素均為指標型別資料,稱為指標陣列,
指標陣列中的每乙個元素都相當於乙個指標變數。
指標陣列的初始化
使用位址為指標陣列初始化
char *p[5]=;
指標陣列和二級指標
int main( )
;char *temp; /*定義指標 *temp,作為臨時變數交換兩個字串*/
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
if ( strcmp(str[i],str[j] ) > 0 )
for(i=0; i<4; i++)
printf(「%s\n」,str[i] );
return 0;
}訪問二維陣列中的元素
int a[3][3]= ;
int *pa[3] = ;
(1) 二維陣列的每一行都可以看成乙個一維陣列,a[0],a[1],a[2]為陣列名,
所以a[0],a[1],a[2] 是位址。
(2) 對指標陣列中的第i 個元素, pa[i] 指向二維陣列第i行的第乙個元素。
(3) pa[i] 移動到第j列,指向a[i][j]元素
*(pa[ i ]+j) 從指標陣列元素的位址訪問後續元素;
*(a[ i ]+j ) 從一維陣列的首位址訪問後續元素;
*(*(a+i )+j ) 從二維陣列的首位址訪問後續元素;
a[ i ] [ j ] 二維陣列下標法
上述四個表示式等價
指標的指標:指向指標變數的指標變數。指標的指標存放的是指
針變數位址。(二級指標)
指標的指標的定義
格式: 型別 **指標變數名;
int i=2; /* 定義整型變數i */
int *p1,**p2; /* 定義p1為整型指標,定義p2為整型指標的指標 */
p1=&i; /* i的位址=>p1,即指標p1指向變數i */
p2=&p1; /* 指標p1的位址=>p2,即指標p2指向指標p1 */
對變數i的訪問 i, *p1, **p2。
使用指向指標的指標。
/*二級指標應用*/
#include
int main()
;/*定義指標陣列,並用字串為其初始化*/
char **p;
int i;
for(i=0;i<5;i++)
return 0;
}例:乙個指標陣列的元素指向整型資料。
#include
int main( )
;int *num[5]=;
int **p, i;
p=num;
for(i=0;i<5;i++)
return 0;
}指標與陣列的等價性--陣列名代表起始位址
乙個一維陣列和乙個指標等價,都代表位址,都可以訪問陣列中
的所有元素;int a[10] 與指標 int *pa
乙個二維陣列,可以看成是乙個一維陣列,每個元素又是個一維
陣列;int a[3][4] 與int a[3]=
乙個指標陣列,指向二維陣列的每一行,指標陣列的陣列元素是
指標,所以指向指標陣列的指標就是指標的指標。即,可以使用
「指標的指標」指向指標陣列。int *pa[3],int a[3][4]與int **p
等價指標說明 含 義
int i; 定義整型變數i
int *p; p為指向整型資料的指標變數
int a[10]; 定義整型陣列a,它有10個元素
int *p[10]; 定義指標陣列p,它由10個指向整型資料的指標元素組成
int (*p)[10]; p為指向含10個元素的一維陣列的指標變數
int f( ); f為帶回整型函式值的函式
int *f( ); p為帶回乙個指標的函式,該指標指向整型資料
int (*p)( ); p為指向函式的指標,該函式返回乙個整型值
int **p; p是乙個指標變數,它指向乙個指向整型資料的指標變數
指標與多維陣列
指標(2)指標陣列 陣列指標 陣列指標陣列
都說指標是c語言的精華所在。今天繼續對指標的探索!指標下一 指標陣列 陣列指標 指標陣列 是存放指標的陣列。如 int p 5 該陣列長度為5,存放的是指向整型變數的指標。陣列指標 是乙個指向陣列的指標。如 int p 5 這是乙個指向長度為5的整型陣列的指標。1.陣列指標在一維陣列中的應用 int...
了解指標(3) 指標和陣列
1 一般而言,陣列名代表了陣列本身,但如果把陣列名看做指標的話,它指向陣列的第乙個元素的位址。例1 int array 10 int value value array 0 也可寫成 value array value array 1 也可寫成 value array 1 value array 2...
c指標點滴三(指標運算)
1 include 2 include 3 4void main3 512 13 void main4 14 24 system pause 25 26 27void main5 28 30int p5 a 2 31 printf d a 2 32 p5 p5 2 相當於在陣列內部向後移動兩個元素的...