黑马程序员---指针函数 函数指针 指针数组 解析

来源:互联网 发布:中国对外援助知乎 编辑:程序博客网 时间:2024/05/22 06:39

-----------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  main()
{
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 ;
}
0 0
原创粉丝点击