使用malloc将坐标存储在C中



我正在编写一个程序,目前正在处理的零件必须采用数百个三角形(形成三维形状(并存储每个三角形的坐标。例如,一个三角形将具有坐标:(x1,y1,z1((x2,y2,z2((x3,y3,z3(。我认为以这种方式组织一个结构可能是一个开始(但我对更好的想法持开放态度…!(

struct triangle {
double x1;
double y1;
double z1;
double x2;
double y2;
double z2;
double x3;
double y3;
double z3;
};

从本质上讲,我希望能够存储每个三角形的坐标,然后在程序的另一个点上,我想返回并删除一些三角形,并将其他一些添加到"列表"中。我已经试着做了好几天了,任何帮助都将不胜感激——这让我疯了。。。

提前感谢!如果我能更详细地解释什么,请告诉我。

首先,您可能需要使用一个更用户友好的结构,如:

struct coord_s {
double x;
double y;
double z;
}
struct triangle_s {
struct coord_s points[3];
}

然后,就malloc而言,您可以使用malloc将指针分配给结构,例如struct triangle_s *my_triangle = malloc(sizeof(struct triangle_s));

sizeof((将负责计算实际结构的大小,并将其发送到malloc((

然后你只需要根据你的用例选择什么作为存储

最新更新