구조체 malloc 에 대해서요~~
글쓴이: feelsocrazy / 작성시간: 토, 2008/04/19 - 5:29오후
struct people{
char *name;
char *mobile;
char *address;
};
people *pe;
pe[1]~pe[10]까지 malloc 써서....하고
각각의 구조체 멤버에 대해서는 free를 어떻게 시키나요??
구조체자체는 그냥
free(pe);
하면 된다고 생각하는대.......그 각각의 멤버들은 그냥 같이 free되어 버리는 건가요??
Forums:
malloc한 순서 반대로
malloc한 순서 반대로 free를 하면 됩니다.
즉 멤버를 각각 free 해 준 후에 pe를 free 해 주어야 합니다.
struct people{ char
윗분 말씀대로 하심됩니다만.
이름이나 폰번호, 주소는 보통 길이가 일정하지 않습니까.
이렇게 해서 구조체만 malloc으로 사용하는게 어떨까요?
제가 생각하기엔..
구조체내의 포인터의 경우 따로 malloc를 해주셔야 하며,
윗분말씀처럼 각 포인터를 차라리 배열로 바꿔주시는게 정신건강에 좋을것 같네요 ^^
만약 포인터로 쓰셔야 쓰셔야한다면 각 맴버들을 따로 메모리 할당을 하고, 나중에도 말슴하긴 것처럼 free()해쥬시면 될것같습니다 ^^
제가 알고 싶던 것 중의 하난데..
저같은 경우에는 행맨 프로그램을 짜는 과제가 있는데
비슷한 질문글이라서 이렇게 궁금한점 질문을 한번 해봅니다.
원래는 기존 코드를 작성 했었는데요
단어 설명에 있어서 제한이 없이 출력이 가능하게 구현하라고 요구조건에 나와있습니다.
그래서 구조체를 동적할당 하고
구조체 맴버 역시 동적할당을 한다면
임의의 구조체맴버를 찾아갈때
어떤식으로 그 값을 찾게되나요
&word[i] -> name 이런식인가요?
- 군복학하고 아무것도 모르는 상태에서 행맨이라는 큰 프로그렘이 떨어지니 참 무섭네요;;
다음이
다음이 아닐까요.
댓글 달기