CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): flesh (t(-_-t);;)
날 짜 (Date): 2002년 7월 20일 토요일 오전 10시 44분 39초
제 목(Title): [질문] C에서요...



 마구마구 헷갈리고 있습니다. 

 main() {
     char *a;
     
     a = (char *)malloc(...);
     a = returnVal();
 }

 char *returnVal() {
     char *b;
   
     b = (char *)malloc(...);
     /* b 에다가 write */
    
     return(b);
 }

 이거 미친짓인가요? -_-;;
 제가 볼땐 a에는 굳이 malloc()을 안해줘도 될거 같은데, 여지껏 그렇게 써왔
 습니다. -_-;; 

 지금 곰곰히 생각해보니 결국 a는 b의 address를 받는 거고, b는 data segment
 내 memory 공간을 할당받는 것이니 dangling pointer의 위험은 사라지는 거고.

 한참을 C 코딩을 해왔지만 아직도 이런 삽질을 하는게 맞는지 틀리는지도 구분을
 못하니 나이 헛먹은 것 같네요. T_T

 dangling pointer?의 예제도 덧붙혀서 저 위의 코드가 정상적(?)인 것인지 답변
 주세요. 고수님들.. T_T


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