如何使用指针从函数返回一个数组。
#include <iostream>
#include <stdlib.h>
using namespace std;
//这里function是一个函数,它返回一个指针,该指针指向的是包含20个int类型元素的数组。
int (*function())[20]
{
int i=0;
int (*p)[20];//声明一个指向20个元素的指针;
p=(int(*)[20])calloc(20,sizeof(int));
//或者p=(int (*)[20])malloc(sizeof(int)*20);
if(!p)//内存不够;
{
cout<<"the memory is not enough!"<<endl;
return NULL;
}
for(i=0;i<20;i++)
(*p)[i]=i+5;
return p;
}
int main()
{
int (*result)[20];
result=function();
if(result)
{
cout<<result[7]<<endl;//这样访问结果,应该输出8。
free(result);
}
system("pause");
return 0;
} 声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: c语言,c++函数返回一个数组,二维数组
- 下一篇: C++中函数返回值能否是数组?
