다른 구조체 내에서 구조체 배열에 동적 메모리를 할당하는 방법을 이해하지 못합니다. 마찬가지로, 내 문제는 ... 여기에 main을 포함하는 project.c 파일이 있는데, 용어를 추가하거나 다항식을 곱하는 등의 다항식 연산을 처리하는 또 다른 polynomial.c 파일이 있습니다.구조체 내에서 배열의 동적 메모리 할당
이 polynomials.h
typedef struct term{
int coeff;
int expo;
} TERM;
typedef struct polynomial {
int size;
// This needs to be changed to calloc.. not sure how within a struct
TERM terms[20];
} POLYNOMIAL;
...
...
나는 또한 동적으로 폴리 배열에 대해 메모리를 할당 내 project.c 파일 내에이이에 대한 헤더 파일입니다.
POLYNOMIAL *polynomials = (POLYNOMIAL *)malloc(sizeof(POLYNOMIAL) * 8);
// 8 being the max number of polynomials I wan to store
여기서 두 가지 질문이 있습니다. 용어 배열에 동적으로 메모리를 할당해야하는시기와 방법은 무엇입니까? 내가 용어의 빈 배열에 대한 calloc 메모리를 보유하고 포인터에 포인터를 할 생각을했다. 이것은 프로그램 시작에서 다항식 할당 후에 수행됩니다 (필자는 생각합니다).
또 다른 질문입니다. 이제 메모리를 없애기 전에 프로그램이 끝나기 전에 끝내야합니다. 그리고 내가 무료로해야 할 순서는 바로 아래에 있어야합니다. 다시 말하면, 용어 배열을 다항식 배열로부터 해방시킵니다.
이 시점에서 힌트 또는 지침이 도움이 될 것입니다. 감사!
그는 그를 위해 숙제를하는 것으로 자격이 있습니다. 그것을 해결하지 않고 그를 위해 그것을하지 않고 그를 해결책으로 인도하는 것이 더 좋지 않을까요? –
* 용어 calloc은 언제 어디에서 호출되어야합니까? – Hall9
가장 중요한 점은 포인터를 사용하는 다항식이 유효한 포인터를 가리킨다는 것입니다. 그렇지 않으면 멤버를 할당 할 수 없습니다. – Jack