指針數組
讓數組的元素指向int或者其他數據類型的地址(指針),可以使用指針數組
指針數組定義
數據類型 *指針數組名[大小]
比如: int *p[3]
- p聲明爲一個指針數組
- 有3個整數的指針組成,因此,p中的每個元素,都是指向int值的指針
代碼演示
#include<stdio.h>
int main()
{
int a[3]={10,20,30};
int i,*p[3];
for(i=0;i<3;i++) //賦值爲整數的地址
{
p[i]=&a[i];
}
for(i=0;i<3;i++) //指針數組來獲取各個值
{
printf("a[%d]=%d\n",i,*p[i]);
}
return 0;
}
查看結果
看起來很嚇人,其實很簡單~
補充說明
順帶一腳把地址也打印出來,加點代碼的事~
#include<stdio.h> int main() { int a[3]={10,20,30}; int i,*p[3]; for(i=0;i<3;i++) //賦值爲整數的地址 { p[i]=&a[i]; } for(i=0;i<3;i++) //指針數組來獲取各個值 { printf("a[%d]=%d p[%d]本身的地址=%p \n",i,*p[i],i,p[i]); } return 0; }
需要注意的是,取它本身的地址