C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[21761] Re:이런건.. 사이즈를 어케 계산하죠.. 넘 어렵다... ㅜㅜ
하느리 [] 659 읽음    2002-09-28 16:45
sizeof()는 일반적으로 데이터형의 크기를 구하는 함수입니다. 하지만 배열의 경우에는 배열의 전체 크기를 돌려줍니다.
그리고 참고 하실 것은 포인터형의 크기는 해당 운영체제의 기본 주소번지의 크기를 가집니다.
원하시는 내용의 가장 간단한 답은,
    int iNum = sizeof(subst) + sizeof(mainst) + sizeof (mainstruct->k);
입니다.
typedef struct SUBST
{
    int m;    // 4
    int n;    // 4
    int l;    // 4

} subst;

typedef struct MAINST
{
    subst * substruct; //맨위스트럭쳐포함    // 4 (포인터이기때문)
    int x,y,z;                               // 4*3 = 12
    char * k;                                // 4 (이것도 포인터이기때문)
} mainst;
따라서 원하시는 답은,
4+4+4+4+12+4+sizeof ("test")의 크기입니다.


풀이 님이 쓰신 글 :
: typedef struct SUBST
: {
:     int m;
:     int n;
:     int l;
:
: } subst;
:
: typedef struct MAINST
: {
:     subst * substruct; //맨위스트럭쳐포함
:     int x,y,z;
:     char * k;
: } mainst;
:
: class TtestClass
: {
:     public:
:     TtestClass();
:     ~TtestClass();
:     void SizeOfStruct();
:     mainst * mainstruct; //두번째 스트럭쳐포함
: };
:
: void TtestClass::SizeOfStruct() // 이 클래스의 크기
: {
:     mainstruct = new mainst;
:     mainstruct->k = new char
:     mainstruct->substruct = new subst;
:
:
:     mainstruct->x = 1;
:     mainstruct->y = 2;
:     mainstruct->z = 3;
:     mainstruct->k = "test";
:
:     mainstruct->substruct->m = 1;
:     mainstruct->substruct->n = 2;
:     mainstruct->substruct->l = 3;
:
: // 여기서 mainstruct의 크기를 알려면? 어케해야 되죠?
:     int iNum = sizeof(*mainstruct) + sizeof(mainstruct->substruct);
: // 이렇게 해도 안 되던데......
:
:     ShowMessage(IntToStr(iNum));
: }
:
: *** substruct와 캐릭터 포인터를 포함하고 있는 mainstruct의 size를 알수 있는 방법.. 없나요?
: 넘 어려워...

+ -

관련 글 리스트
21758 이런건.. 사이즈를 어케 계산하죠.. 넘 어렵다... ㅜㅜ 풀이 631 2002/09/28
30802     Re:이런건.. 사이즈를 어케 계산하죠.. 넘 어렵다... ㅜㅜ 김재구 603 2002/09/28
21761     Re:이런건.. 사이즈를 어케 계산하죠.. 넘 어렵다... ㅜㅜ 하느리 659 2002/09/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.