我想要一个像下面这样的结构:
typedef struct Mystruct
{
double p;
double x_min;
double x_max;
double y_min;
double y_max;
double params[] = {x_min, x_max, y_min, y_max};
};
我的目标是数组 params
的元素应该由 { x_min, x_max, y_min, y_max}
填充。
有没有办法在c中实现这个结构? ?
在 C 中你不能这样做,相反你可以编写一个函数来为结构实例进行初始化。
typedef struct Mystruct
{
double p;
double x_min;
double x_max;
double y_min;
double y_max;
double params[4];
}Mystruct;
Mystruct GetMystruct( double p,
double x_min,
double x_max,
double y_min,
double y_max)
{
Mystruct my = { p, x_min,x_max,y_min,y_max, {x_min,x_max,y_min,y_max} } ;
return my;
}
然后,例子:
Mystruct m = GetMystruct( 0.0, 42.1, 42.2, 42.3,42.4 );