[질문] 포인터...
글쓴이: bosub / 작성시간: 화, 2006/01/24 - 3:41오후
라이브러리에서 다음과 같이 선언이 되었습니다.
Typedef xmlDoc *xmlDocPtr
메인 소스에서
void function(xmlDocPtr doc) { ..... doc의 값 설정 printing(doc); // 정상적으로 출력 } void main(void) { xmlDocPtr doc; function(doc); // doc == NULL 로 됨 }
메인에서 호출한 함수에서 doc의 값을 설정되고 그 설정된 값이
메인에서도 유효하게 할려면 어떻게 호출해야 하나요?
Forums:
function 안에서 xmlDocPtr 에 뭔가를 할당한 다음fun
function 안에서 xmlDocPtr 에 뭔가를 할당한 다음
function 바깥에서 쓰고 싶다는 것인가요???
그런 경우 function 을
이렇게 바꾸고 main 에서
이렇게 하면 될겁니다.
수정해서 돌려 봤는데 안되네요. 전역변수로 빼서 돌리면 가능한데 가능하면
수정해서 돌려 봤는데 안되네요. 전역변수로 빼서 돌리면 가능한데 가능하면 전역으로 돌리기 싫은데 ㅠㅠ
5초 앞이라도 내다 볼 수 있다면..
[code:1]void function(xmlDocPtr *d
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
제가 궁금한거는 라이브러리에서 xmlDocPtr이 xmlDoc의 포인터
제가 궁금한거는 라이브러리에서 xmlDocPtr이 xmlDoc의 포인터로 선언이 된 것을 메임함수에서 선언을 해서 사용하는데
로컬 함수로 호출을 할때 이 함수가 가지는 포인터의 관계가 궁금합니다.
위와 같이 해도 로컬 함수에서는 값을 가지지만 메인함수로 돌아오면
doc 값이 NULL이 되버리니.. ㅠㅠ
실력이 부족해서 포인터의 개념이 부족하네욤 ㅠㅠ
5초 앞이라도 내다 볼 수 있다면..
[quote="bosub"]제가 궁금한거는 라이브러리에서 xmlDocP
혹시 xmlDoc 가 interface 인지 확인해 보세요. 이 경우 smart pointer 사용한 경우 메인에서 파괴되는 현상이 reference count 감소에 의한 것으로 설명이 됩니다. 물론 이 경우 main()에서는 해당 개체를 참조(또는 사용)하는 동안은 파괴되지 않을 테니 문제될 건 없을텐데...음, 혹시 NULL이 되는 것만 확인하고 질문을 하신 건 아닌지...
===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================
Re: [질문] 포인터...
xmlDocPtr 를 int라고 가정한다면 위의 소스는
위의 소스를 보면 결과값이 결코 반환 될수 없다는걸 아실겁니다.
아래와 같이 int * 로 바꿔야 반환값을 가져올수 있겠죠?
그리고 int를 xmlDocPtr로 치환해서 봐보세요.^^
전 모든형의 int형화 시켜 본답니다.^^
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
[code:1]void function(xmlDocPtr* ppd
doc을 어디서 생성하느냐와 어디서 해제하는냐를 주의해서 살펴보시면 되지 않을까요???
-----------------------
좋은거 함 만들어보자...^^
댓글 달기