如何从C头文件中的函数返回多维字符数组

优素福

我有一个主文件和一个头文件。

在主文件中,我想从头文件的char函数返回2D char数组。我的char函数如下:

char character_distribution(int length, char redistribution[length][2])
{
        char *buffer, distribution[256][2] = {0};
        long lSize;
        struct Bar result = funct();
        buffer = result.x;
        lSize = result.y;
        length = collect_character_distribution(buffer, lSize, distribution);
        reorganize_character_distribution(length, distribution, redistribution);

        return redistribution;
}

我的主要功能如下:

#include <stdio.h>
#include "character_distribution.h"

void main()
{
        int length;
        char distribution[length][2];
        distribution = character_distribution(length, distribution[length][2]);
        int a;
        for(a = 0; a < length; a++)
        {
                printf("%c\n", distribution[a][0]);
        }
}

运行代码时,出现以下错误:

warning: return makes integer from pointer without a cast

我该如何解决该问题?

卢卡斯
void character_distribution(int length, char redistribution[][2])
{
    char *buffer, distribution[256][2] = {0};
    long lSize;
    struct Bar result = funct();
    buffer = result.x;
    lSize = result.y;
    length = collect_character_distribution(buffer, lSize, distribution);
    reorganize_character_distribution(length, distribution, redistribution);
}
int main()
{
    int length = 2; //initialize
    char distribution[length][2];
    character_distribution(length, distribution);
    int a;
    for(a = 0; a < length; a++)
    {
        printf("%c\n", distribution[a][0]);
    }

    return 0;
}

如果您真的必须返回2d数组,则一种方法(简便方法)是将其放在结构中

struct distribution_struct {
    char x[256];
    char y[2];
};
struct distribution_struct character_distribution(int length, char redistribution[][2]) {
    struct distribution_struct dis;
    //initialize the struct with values 
    //return the struct 
}

另一种方法是为函数中的2d数组手动分配内存并返回

char** character_distribution(int length, char redistribution[][2]) {
     //use malloc to create the array and a for loop to populate it 
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从C头文件中的函数返回多维字符数组

来自分类Dev

C ++-从函数返回多维数组

来自分类Dev

C ++-从函数返回多维数组

来自分类Dev

如何在头文件中声明C数组?

来自分类Dev

如何在头文件中声明C数组?

来自分类Dev

如何在C ++中的函数原型中编写多维数组

来自分类Dev

返回多维数组的函数

来自分类Dev

C ++头文件中的静态函数

来自分类Dev

头文件中的C函数实现

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

如何在Codeigniter中返回多维数组

来自分类Dev

无法在C中返回多维数组

来自分类Dev

C函数中的多维char数组

来自分类Dev

strstr函数和c中的多维数组

来自分类Dev

C函数中的多维char数组

来自分类Dev

如何用C中的程序访问头文件中声明的函数

来自分类Dev

返回多维数组时,如何将函数中的内容传递回结构

来自分类Dev

C中的头文件

来自分类Dev

C ++-在头文件中使用带有可变参数的多维数组

来自分类Dev

在C中返回字符串数组的函数

来自分类Dev

C ++使用cpp中的头文件中的引用函数?

来自分类Dev

调用头文件中的函数

来自分类Dev

将多维字符数组传递给 C 中的 void 函数时出错

来自分类Dev

从 Rust 中的函数返回未知大小的多维数组

来自分类Dev

是否可以从同一头文件中的头文件调用函数?(C99)

来自分类Dev

如何让ld将函数链接到头文件中?

来自分类Dev

C头文件如何导入win32api函数?

来自分类Dev

如何在C头文件中分配特定的数组大小