【发布时间】:2014-05-07 14:52:55
【问题描述】:
我目前正在学习 C,我想知道是否有一种非常优雅的方式可以让结构变量自行分配给它的成员变量。 即
typedef struct {
double x; double y; double magn = sqrt(pow(x,2) + pow(y, 2));
} vector2d_t
显然这不起作用。是否可以制作某种类型的 pre-proc 宏,或者将结构包装在其他东西中,以便每次更改成员 x、y 时自动分配大小?
是否有某种商定的方法可以做到这一点,或者是否有必要创建一个函数:
void magnitude(vector2d_t *A){A->magn = sqrt(pow(A->x, 2) + pow(A->y, 2));}
并在每次创建新的 vector2d_t 时调用它?
【问题讨论】: