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
[5819] malloc할때 access violation이 나는 문제
jeroh [] 2380 읽음    2001-02-28 21:43
:

  아래와 같은 코드에서요,

EXP_UNIT* Tunit = (EXP_UNIT*)malloc(sizeof(EXP_UNIT));
memset(Tunit,NULL,sizeof(EXP_UNIT));
Tunit->arc_num=0;
Tunit->head_ptr = hunit;
Tunit->islexical = -1;
if(Tunit->id == NULL)
{
Tunit->id = (int*)malloc(sizeof(int)); *********
memset(Tunit->id,NULL,sizeof(Tunit->id));
}
else
memset(Tunit->id,NULL,sizeof(Tunit->id));
*(Tunit->id) = id;


******* 부분에서 access violation이 나거든요.
Tunit->id 가 NULL이면 memory allocation이 안된건데,
malloc하는데 왜 이런 문제가 발생하는가요?

그리고, sizeof(EXP_UNIT) = 4000 이면,
첫번째 line에서 Tunit을 malloc하고 나면,
sizeof(Tunit) = 4000이 되어야 하는거 아닌가요?
근데 여전히 sizeof(Tunit) = 4로 나오는군요.
첫번째 line에서부터 malloc이 잘 안된거라면
왜 이런 일이 발생하는지 모르겠네요...

많은 도움 부탁드립니다.

+ -

관련 글 리스트
5819 malloc할때 access violation이 나는 문제 jeroh 2380 2001/02/28
5823     Re:malloc할때 access violation이 나는 문제 Drost 2595 2001/03/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.