#include "stdio.h"//设置头文件 int main() { double a[][4] ={{67,76,80,78},{90,86,70,56},{34,50,75,80}}; //a[][4]表示的是地某行的第四个,如果是a[][]是表示地某行第某列 double *search(double (*point)[4],int n); //这里应用了函数指针与指针函数,*(point)[4]是数组指针,search是一个函数,当前面加一个*变成*search,那么返回值是该函数的地址入口 //*search(double (*point)[4],int n); 这个是一个指针函数,而不是一个函数指针,指针函数是函数,下面需要对这个函数进行定义 double *pt;//定义一个double型的指针*pt int m; //设置m变量 int i; //设置i变量 scanf("%d",&m); //scanf是输入函数 pt=search(a,m);//二维数组第m行的第四列的值 //但是返回的是一个第m行的第四列的值的地址入口 为什么呢? 因为pt是一个指针 //地址入口传给pt for(i=0;i<4;i++) //用for循环就是为了输出数组 输出数组基本上都用for循环 { printf("%f\n",*(pt+i)); //指针输出数组的方式是*(pt+i) } printf("\n"); //输出换行 } double *search(double (*point)[4],int n)//定义数组指针函数 { double *p; //设指针变量 p=*(point+n); //把n行四个列的值给指针p return p; //p返回的是地址 }

第二遍我把代码发出去 这是没有注释的

#include "stdio.h"//设置头文件 int main() { double a[][4] ={{67,76,80,78},{90,86,70,56},{34,50,75,80}}; double *search(double (*point)[4],int n); double *pt; int m; int i; scanf("%d",&m); pt=search(a,m); for(i=0;i<4;i++) { printf("%f\n",*(pt+i)); } printf("\n"); } double *search(double (*point)[4],int n) { double *p; p=*(point+n); return p; }

该代码主要讲了指针数组 、数组指针的应用

实现的功能是利用指针数组 、数组指针输出二维数组

喜欢我的话可以关注+私信我 ”教程“

我会把C语言的教程发给各位!

查看原文 >>
相关文章