내부 구조체의 배열을 자유롭게, cluster_t
나는 두 구조체</p> <pre><code>struct obj_t { int id; float x; float y; }; struct cluster_t { int size; int capacity; struct obj_t *obj; }; </code></pre> <p>당신이 볼 수 있듯이이 구조체
내부 첫째 obj_t
포인터는 내부 배열의 모든 obj_t을 무료로 거기에 내가하고 싶은 것은입니다 cluster_t
루프를 for
과 같이 써야하나요?
void clear_cluster(struct cluster_t *c)
{
for(int i = 0; i<c->size;i++)
{
free(&c->obj[i]);
}
free(c->obj);
}
아니면 이와 같은 메모리를 확보해도됩니까?
void clear_cluster(struct cluster_t *c)
{
free(c->obj);
}
할당 한 순서와 반대입니다. –
* "''obj_t'의 배열이'cluster_t'"안에 있음을 알 수 있습니다. * -'cluster_t' 내부에 배열을 볼 수 없습니다. 나는 포인터를 볼 수 있지만 그것은 다른 것입니다. – axiac
'struct'에 배열에 대한 포인터도 없습니다! – Olaf