牛骨文教育服务平台(让学习变的简单)
博文笔记

如何使用指针从函数返回一个数组。

创建时间:2016-12-24 投稿人: 浏览次数:168
#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;  
}  

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。