포인터에 대한 질문입니다_초보
글쓴이: tommybee / 작성시간: 월, 2008/10/13 - 5:36오후
안녕하세요
그냥 C 공부 하다가 안풀리는 부분이 있어서 이렇게 글을 씁니다
다름이 아니라 다음과 같이 포인터의 포인터로 동적 배열을 생성하고 나서 단지 메모리를 해제 할려고 하는 데 에러가 생겨서요
뭐가 문제인지 모르겠습니다.
고수님들의 조언 부탁드립니다.
선언은 다음과 같습니다.
short **h,**n;
int Xmx,Ymx;
Xmx=Ymx=200; 다음과 같이 사용했습니다.
h = (short**)malloc(Xmx*sizeof(short));
for(i=0;i
for(i=0;i
for(j = 1;j
for(i = 1;i
if(h[i][j]==Vnd)
{
n[i][j]=0;
}
else
{
n[i][j] = 1;
}
}
}
그리고 해제는 다음과 같이 했습니다.
for(i=1;i
if(h[i]) {free(h[i]);h[i]=0x00;}
}
free(h);
for(i=1;i
if(n[i]) {free(n[i]);n[i]=0x00;}
}
free(n);
위와 같이 하면 안되나요?
답변 부탁드립니다.
Forums:
h =
h = (short**)malloc(Xmx*sizeof(short));
나머지는 깨져서 잘 안 보이고..
일단 이 부분이 틀린 것 같네요.
short** 로 할당을 하고 short **에 index만큼 short *을 할당하려 쓰시려고 한 것 같은데.
그러면 short**에 할당될 것의 크기는 sizeof(short)*갯수가 아니라 sizeof(short*)*갯수이어야겠죠?
감사합니다...덕분에 해결 했습니다
그렇네요 제가 이제 뭔지 알겠습니다
감사합니다.
댓글 달기