#include <stdio.h>
#include <string.h>
int main()
{
float score[][4] = { {60,70,80,90},{56,89,67,88},{34,78,90,66} };
float* search(float(*pointer)[4], int n);
int i, k;
float* p;
printf_s("enter the number of stustdent:\n");
scanf_s("%d", &k);
p=search(score, k);
for (i = 0;i < 4; i++)
{
printf_s("%4.1f,", *(p + i));
}
return 0;
}
float* search(float(*pointer)[4], int n)
{
float* pt;
pt = *(pointer + n);
return (pt);
}
大概有这么几种:
申请某种类型的内存空间,返回内存空间地址;在另一处进行释放。好处是封装申请/释放细节;
返回全局变量的地址;比如单例模式中,返回全局的实例;
以指针返回公共内存的位置;比如模块化后,一组独立模块处理接口返回理结果;