そこはアドレス渡しだよ!
typedef struct {
int x;
} Data;
void CreateData(Data *d) {
d = malloc (sizeof(Data));
d->x = 10;
}
int main(void) {
Data *data;
CreateData(data);
printf("data->x = %d", data->x);
free(data);
return 0;
}
CreateData を作って, FreeData を作らないのは,手落ちだ.え,論点そこじゃない?