typedef struct { int a; float b; } Data;
Data* Data_create(int a_val, float b_val) {
Data* p = malloc(sizeof(Data));
if (p) { p->a = a_val; p->b = b_val; }
return p;
}
// 使用
Data* d = Data_create(10, 3.14f);Data* d = malloc(sizeof(Data));
if (d) *d = (Data){ .a = 10, .b = 3.14f };struct Data { int a; Data(int v): a(v) {} };
Data* d = new Data(10); // 或 malloc + placement new