정해지지 않은 스트럭트 주소값 반환 못 하나요?
글쓴이: kknd345 / 작성시간: 목, 2004/11/25 - 10:44오전
#include <stdio.h> #include <stdlib.h> #include <string.h> struct Srectangle{ int length; int width; }; struct Scircle{ int radius; } struct Striangle{ int side1; int side2; int side3; } int select_menu( void ) { char select[30]; gets(select); if( stricmp( select,"rectangle") == 0 ) { } else if ( stricmp( select,"circle") ==0) { } else if ( stricmp( select,"triangle") ==0) { } else { printf("Error Input!\n"); exit(0); } }
int select_menu( void ) 하수 안에서
if 조건 만족하면 안에 들어가서 malloc 으로 스트럭트만큼 메모리를 만들어
주소값을 리턴하고 싶은데 특정 형태로 정해지지 않은 스트럭트 주소를 리턴할수 있나요?
c++ 은 가능한걸로 아는데..
c는 불가능한가요?
Forums:
물론 가능합니다.malloc은 크기만 정해주면 주소를 리턴하지 않습니
물론 가능합니다.
malloc은 크기만 정해주면 주소를 리턴하지 않습니까? ^^;
할당한 구조체의 주소를 넘기는 것은 쉽게 됩니다만, 문제는 받는 쪽에서는
할당한 구조체의 주소를 넘기는 것은 쉽게 됩니다만, 문제는 받는 쪽에서는 그 구조체가
세모인지 네모인지 알 수 없다는 것이죠. 각 구조체마다 타입을 구별할 수 있는
멤버를 추가하든지 그런 정보를 알 수 있는 함수 인자를 추가하는 방법이 있습니다.
어떻게 해도 코드가 지저분해지는 것은 피할 수 없겠죠. 관련되는 곳마다 "세모이면 어쩌고...
네모이면 저쩌고..." 하는 것들이 들어가야 할 테니까요.
나중에 오각형 구조체가 추가되어야 하는 상황을 상상해 보십시오. 악몽입니다. :(
댓글 달기