함수에서 구조체의 동적메모리할당에 관해서 질문드립니다ㅠㅠ
새길
2023.04.01
어떤 알고리즘을 구현하려다 안되는 부분이 있어서
이해가 안되는 부분을 나름대로 정리했습니다.
#include stdio.h#include stdlib.h
struct point {int x;int y;};
point* func(int num) {struct point *pt=(point*)malloc(sizeof(point)*num);return pt;}
int main(void) {struct point *pt;int num;
scanf(%d, &num);pt=func(num);
return 0;}
입력을 받은 크기만큼 구조체를 동적메모리할당 하려고 합니다.
그래서입력 받은 크기를 함수의 인자로 전달해서 동적메모리할당을 하고 그 주소를 리턴시켜
메인함수의 포인터 변수에 전달했습니다.
문법상으로 틀리는 부분이 없는 것 같은데 컴파일에서 오류가 납니다.
혹시나 해서 실험해봤는데 point 자료형 부분을 기본 자료형 (char, int) 로 했을 때는 문제가 없는데
왜 구조체로 할 때는 문제가 생기는 건가요?ㅠㅠ
-
큰뫼
다른 문제일수도 있어요.
컴파일 오류 시 그 오류 메시지를 적어주세요.
어떤 질문이든, 오류 메시지를 적어주면 크게 도움됩니다.
그게 기본이구요. -
이치코
전 컴파일 자체가 안되서...ㅠㅠ
뭐가 문제인지 모르겠네요 -
이루리
컴파일 오류, 실행 오류 둘다 안나는데요...