Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5730] 감사합니다.. 냉무
RfRedEye [interrupter] 1978 읽음    2006-06-17 15:06
감사합니다...


\-----------------------------------

외랑 님이 쓰신 글 :
: 정녕 함수내에서 데이터를 잡으시길 원하시다면...
: 이렇게 동적으로 사용하시면 됩니다. 대신 잊지말고 할당된 메모리 삭제하셔야 합니다.
: 대신 이렇게 하시면 프로그램이 복잡해지다보면 건망증? 덕에 메모리 누수의 경우가 많이 발생할 소지가 있습니다.
:
: #include <stdio.h>
: #include <conio.h>
: #include <string.h>
:
: char * function(void)
: {
:       char *cStr = new char [100];
:       strcpy(cStr, "This is Test");
:       return cStr;
: }
:
: void main(void)
: {
:       char *ReturnArray = function();
:       printf("%s\n",  ReturnArray);
:       if(ReturnArray)  delete [] ReturnArray;
:       getch();
: }
:
:
:
: RfRedEye 님이 쓰신 글 :
: : 안녕하세요? 주소를 넘겨서  인자로 받는형태는 자주혹은 많이 사용하다보니깐 괜시리 함수만 복잡해지는것 같아요
: :
: : 혹시 char * function(void)  이렇게 해도 전역변수가 아닌이상 데이터는 소멸되게 되는거죠?
: :
: :
: : 외랑 님이 쓰신 글 :
: : : 함수 내부의 지역변수의 포인터는 리턴시켜도 의미가 없습니다.
: : : 왜냐하면 함수로 들어갈 때 생성되었다가 함수를 빠져나갈때 사라져버린다고 생각하시면 되겠지요.
: : : 지역변수의 포인터니까요.. 다만 데이타 값은 전달될 수 있겠지요..
: : : 그래서 함수의 인자로 포인터를 넣어주는 형태를 취합니다.
: : :
: : : 동적으로 할당시켜주는 방법도 있습니다만 좀 더 공부하신 후에 사용하는게 좋을 듯합니다.
: : :
: : : 예제입니다.
: : :
: : : #include <stdio.h>
: : : #include <string.h>
: : :
: : : void function(char *ABC);
: : :
: : : void main(void)
: : : {
: : :      char ABC[100];
: : :      function(ABC);
: : :      printf("%s \n", ABC);
: : : }
: : :
: : : void function(char *ABC)
: : : {
: : :      strcpy(ABC, "Test");
: : : }
: : :
: : : RfRedEye 님이 쓰신 글 :
: : : : 안녕하세요?
: : : :
: : : : 함수내부에 지역변수로 선언된 배열값을 리턴시켜 배열값을 받으려 하는데요 가능한건가요?
: : : :
: : : : 안된다면 다른예가 있을까요?
: : : :
: : : : ??? function (void)
: : : : {
: : : :      char ABC[100];
: : : :      내부에서 처리........
: : : :     
: : : :       return ABC;      <================여기서 리턴시키려면.??????????
: : : : }
: : : :
: : : : 꼭좀 지적해 주세요~~

+ -

관련 글 리스트
5724 [질문]지역변수 배열리턴 RfRedEye 4663 2006/06/13
5727     Re:[질문]지역변수 배열리턴 외랑 2694 2006/06/13
5728         Re:Re:[질문]지역변수 배열리턴 RfRedEye 2901 2006/06/14
5729             Re:Re:Re:[질문]지역변수 배열리턴 외랑 2485 2006/06/14
5730                 감사합니다.. 냉무 RfRedEye 1978 2006/06/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.