-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一、指针函数解析
int main()
{
int n = 1 , i = 0;
int stu_messge[3][3] = { {11,21,31} , {43,42,41} , {56,57,58} } ;
int (*p)[3] = NULL ;
int *get_score(int (*pp)[3],int n) ; //声明一个指针类型的函数,其中两个形参分别为有一个3个元素的数组指针(指向3个元素的一维数组)和整型(指针的移动)
int *ptr = NULL ;
scanf(" %d " , &n ) ;//学生的学号
ptr = get_score( stu_messge , n);//把学生信息的首地址传递给数组指针,是行指针指向
for( i = 0;i < 3;i++)
printf(" %d \n",*(ptr + i));//输出该学生的所有成绩
getchar();
getchar();
return 0 ;
}
int *get_score(int (*pp)[3],int n) //定义函数功能
{int *pos = NULL ;
pos = *(pp + n); //使行指针移动该学生的首地址并把首地址的值传给指针变量。
return pos ; //返回该指针
};
{
int a[] = {1,2,3,4,5};
int i = 0 ;
int *p[] = {&a[0],&a[1],&a[2],&a[3],&a[4] };
int **ptr = NULL ;
ptr = p ;
for( i = 0 ;i <5;i++)
{
printf(" %d ", **(ptr + i));
}
getchar();
getchar();
return 0 ;
}