Не уверен, что вы хотите достичь, но, возможно, это достаточно близко?
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;
}