【发布时间】:2012-10-20 11:04:30
【问题描述】:
您好,我在结构中定义结构数组时遇到了一些麻烦。 这是我的想法,我需要一个名为 figure 的结构,其中包含图形的名称、坐标计数和坐标 (x,y)。每个图形可以有任意数量的坐标。 我还需要能够为不断增加的坐标列表动态重新分配空间......请帮助我指出正确的方向。 谢谢,
泰勒
typedef struct {
char fig_name[FIGURE_LEN + 1];
int coordcount;
/* here i need to declare an array of coord structures that
but i am not sure how to do this properly. I was originally
going to try something like as follows */
coords *pointer;
pointer = malloc(sizeof(coords));
pointer = coords figcoord[];
/* however i am quite certain that this would not work */
} figure;
typedef struct {
double x;
double y;
} coords;
【问题讨论】:
-
您不能将默认结构值分配给 C 中的成员变量。您将 代码 隐藏在结构定义的中间。不会在 C 中工作。
-
必须先声明坐标,然后才能使用它。此外,C 是一种静态类型语言,因此您需要先声明才能进行赋值。
-
@Kira 是的,我认为这是一个问题,但我只是不知道如何解决这个问题。
-
简单,声明然后赋值,就这样。我相信 WhozGraig 给你的答案说明了我的意思。
标签: c dynamic structure allocation