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
[5964] Re:C 구조체의 메모리 할당에 대해서 질문 있습니다.
박세용 [] 2597 읽음    2001-03-08 15:49
other라는 포인터에 대한 메모리는 할당이 되지 않습니다.
person이라는 struct에 대한 메모리를 동적할당하면
포인터에 대한 메모리만 잡히는 것입니다.

ex)

struct person *a, *b, *c;

a = new struct person;
b = new struct person;
c = new struct person;

a->face = 10;
b->face = 20;
c->face = 30;

cout << a->other->face << endl;  // <-- 메모리 참조 에러가 생깁니다.

b->other = c;
cout << b->other->face << endl;  // 30이 출력이 됩니다.

c->other = new struct person;
c->other->face = 40;
cout << c->other->face << endl;  // 40이 출력됨.


참고하세요.


문성훈 님이 쓰신 글 :
: 안녕하세요?
:
: struct person
: {
: int face;
: int arm;
: int body;
: person *other;
: }
:
: 이 있다고 치고, 동적할당을 하면
:
: 메모리에 int 3개 person형 포인터 1개
:
: 가 확보되잖아요?
:
: 그럼 person->other->face
:
: 이렇게도 쓸 수 있는 것 같던데...
:
: 그럼 person->other->face 는 언제 메모리가
:
: 확보된 건가요? 그럼...
:

+ -

관련 글 리스트
5962 C 구조체의 메모리 할당에 대해서 질문 있습니다. 문성훈 2477 2001/03/08
5964     Re:C 구조체의 메모리 할당에 대해서 질문 있습니다. 박세용 2597 2001/03/08
5973         번번히 정말 감사합니다. ^^ 문성훈 2403 2001/03/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.