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

本文介绍了一个C++函数,该函数返回一个指向含有20个整数元素的动态数组的指针,并演示了如何分配内存、初始化数组以及正确释放资源。通过主函数展示了如何调用此函数并获取数组中的特定元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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;  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值