다음을 생성해야합니다. 특정 순서없이 반복되는 값없이 어떤 종류의 항목이라도 수에 관계없이 초기화되는 일반 유한이지만 동적 집합입니다. 집합에 대한 동적 배열 만들기
그래서 나는 (기본적으로 설정) 배열을 보유하고 구조체와 세트의 이름을 작성하여 시작 :typedef struct set{
char name; /* A unique identifier for every set */
int value[]; /* A dynamic array of integers; the set */
} Set;
내가 인터페이스 역할을 헤더 파일에 넣고.
지금 구현 수준에 머물러 있습니다. 기본적으로 함수를 만들어야합니다.
create()
그러나 [] 동적 배열을 만드는 방법을 모르겠습니다. malloc을 사용해야한다는 것을 알고 있지만 혼란 스럽습니다. 어떤 도움을 크게 감상 할 수
Set * create()
{
Set S;
int n;
int * ptd;
S.value * ptd = (int *) malloc(n * sizeof(int));
}
:
나는 아무 소용이 코드를 시도했다. 감사!
"이 코드를 사용하지 않으려 고 시도했습니다." 그게 뭐가 잘못 되었 니? 컴파일 오류? 예상과 다른 결과가 있습니까? –
'n '의 값은 무엇입니까? 'n'이 0이면 'n * anything'은 0이고, 'malloc' **은'NULL '을 반환 할 수 있습니다. 또 다른 문제는'create' 함수가 어떤 값도 반환하지 않는다는 것입니다. 유효한'Set *'을 반환하기 위해서는'Set' 자체를 스택에 자동으로 할당하는 것이 아니라'malloc'을 사용하여 힙에 할당해야합니다. – jweyrich