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

C++빌더 Q&A
C++Builder Programming Q&A
[12720] Re:구조체 복사...꼭좀..
박재욱.사탕 [withsun] 2379 읽음    2001-11-16 00:13
값을 복사 하시려는 것인지...
주소값만 넘겨주시려는 것이지는 모르나..
아래의 답변은 주소값을 넘겨주는겁니다.

typedef struct _A
{
     int i;
     AnsiString str;
}A;
 
void Test(void)
{

  A* p;      // 구조체형 포인터 변수 하나 선언..(주소만 담을 겁니다.)
  int Size;
  A *a = new A;

  a->i = 1;
  a->str = "abcd";

 
  p = a;  // 주소값을 넘겨줍니다.

  delete pMy;
}


내용물을 찍어보면 똑같습니다.
a의 주소가 100번지라면 p의 내용에 100이 있는것인 셈이지요.
p->i p->str 해보시면 a->i a->str하는것과 동일한 코딩이 되는겁니다..

값을 넘기려면(복사를 하실려면)..... 구조체와 배열의 용도가 다른데..

구조체는 서로다른 자료구조를 묶어 놓은 것이고..
배열은 동일한 자료구조의 묶음이라.. 값이 넘어갈련지 모르겠네요..
다른 구조체 하나 만들어 놓고 값을 복사해주면 몰라도...................


제가 틀렸을 수도 있다는걸 명심하시고...
이상으로 저의 허접한 답변이었습니다..

꾸벅~~~~~~~~


문정원 님이 쓰신 글 :
: typedef struct _A
: {
:     int i;
:     AnsiString str;
: }A;
:
: ..
:
: void Test(void)
: {
:     char *P;
:     int Size;
:     A *a = new A;
:
:     a->i = 1;
:     a->str = "abcd";
:   
:     /* P 에 구조체를 복사하려구 하는데요..잘 안되네요..*/
:     Size = sizeof(*a); <-- 구조체 크기얻는 부분(?)
:     P = (char *)malloc(Size);    
:     memcpy(P, (void *)&a[0], 구조체크기); <--구조체 넘기는 부분(?)
:    
:     ...(중략)
:    
:     free(P);
:     delete a;
: }
:
: 알려주세요....!!

+ -

관련 글 리스트
12717 구조체 복사...꼭좀.. 문정원 824 2001/11/15
12725     Re:구조체 복사...꼭좀.. 푸른바다 1059 2001/11/16
12724     Re:구조체 복사...꼭좀.. 박정모 1136 2001/11/16
12720     Re:구조체 복사...꼭좀.. 박재욱.사탕 2379 2001/11/16
12734         Re:Re:구조체 복사...꼭좀.. 문정원 1467 2001/11/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.