指针数组
让数组的元素指向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; }
需要注意的是,取它本身的地址