CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): jschoi (정순도순)
날 짜 (Date): 1995년02월08일(수) 19시40분03초 KST
제 목(Title): [질문]segment fault 잡아주셔요.(간단)


안녕하세요.
다음과 같은 상황에서 segment fault 에러가 납니다.
그 이유를 모르겠네요. 혹 아시는 분 보시면 포스팅 부탁합니다.

{
  char **dp;
  ...

  n = get_dp(dp);
  ...
}

int get_dp(char **dp)
{
  ...
  dp = (char **) malloc(siezof(char *) * count);

  for(i=0; i<count; i++) {
    dp[i] = (char *) malloc(siezof(char) * (detail_count+1));
    for(j=0; j<detail_count; j++)
      dp[i][j] = character_value;
    dp[i][j] = '\0';
  }

  return count;
}

물론 보시면 이해하시겠지만,
string의 array를 위해서 변수 dp 를 사용하고 있습니다.
get_dp()에서는 변수 dp 에 값이 할당되나, parent function으로 가면 그 값을
사용할 수가 없더군요.

definition part에서 char **dp 대신에 char *dp[COUNT]를 사용하면
에러는 나지 않지만, 그럴만한 형편(=상황)이 못됩니다.
그럼 저도 미리 감사드리죠.

-------------------------------------------------
아무도
 나에게 그 길을 가라하지 않았지만... 

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.