是否可以从struct创建函数?

像这样:

#include <stdio.h>

struct dma
{
    int day, mes, year;
};

dma *x(int a, int b, int c)
{
}

int main(int argc, char *argv[])
{
}


并且,此函数返回一个结构。

如果可能,如何使用它们?

最佳答案

不确定要完成什么,但这也许足够接近?

struct dma
{
    int day, mes, year;
};

struct dma *x(int a, int b, int c)
{
    struct dma *res = (struct dma *)malloc(sizeof(struct dma));
    res->day = a;
    res->mes = b;
    res->year = c;
    return res;
}

int main(int argc, char *argv[])
{
    struct dma *m = x(1, 2, 3);

    printf("Year: %d\n", m->year);

    free(m);
    return 0;
}

关于c - 从结构创建函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7803953/

10-11 22:07
查看更多