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
[16564] 배열보다는 vector를 쓰세요.
김백일 [cedar] 1532 읽음    2002-03-20 17:15
김경완 님이 쓰신 글 :
: 감사합니다..
:
: 그런데 제가 예를 잘못들었네요..
:
: 원래는
:
: typedef struct tagImageData{
:         int               ID;
:         int               MJBH;
:         unsigned char     TEXT[128];
:         unsigned char     IMG[128];
: }IMAGE_DATA;
:
: IMAGE_DATA data[1];
:
: 이렇게 구조체를 할당하는 건데요...
: 위에선 data[1] 이렇게 선언했지만...,,
:
: 구조체를 몇개를 사용할지 몰라서요...그래서 에디트에서 int num
: 을 입력받아서
:
: IMAGE_DATA data[num];
:
: 이렇게 선언을 하려고 하거든요...
:
: 부탁드립니다.

위에 제가 쓴 글의 앞 부분과 같습니다.

음... 저는 C는 안쓰고 C++만 써서리...
malloc을 어떻게 쓰는지 까먹었군요..
C++ 식으로만 알려드립니다.

struct ImageData{
         int               ID;
         int               MJBH;
         unsigned char     TEXT[128];
         unsigned char     IMG[128];
};
라면,

선언할 때는
ImageData* pData = new ImageData[num];

사용 할때는
pData[i]

사용 후에는 반드시
delete [] pData;
로 메모리를 해제하세요.

근데 저는 보통 이렇게 안쓰고, STL의 vector를 주로 씁니다.
선언할 때는
vector<ImageData> vData;

데이터를 넣을 때는
ImageData data;
data->ID = 1234;
data->MJBH = 7890;
.................

vData.push_back(data);

데이터를 조회할 때는
vData[i]

로 합니다.

STL을 쓰면 거의 메모리 할당을 잊어버리고 살아도 됩니다. ^^;


+ -

관련 글 리스트
16557 [질문] 메모리 할당에 대해서....... 김경완 1217 2002/03/20
16605     Re:[질문] 메모리 할당에 대해서....... Zapster 1252 2002/03/21
16565     Re:C에서 바라볼때 할당방법 .... (소스참조 하세요) 산적 1244 2002/03/20
16567         그렇게는 쓸 수 없습니다! 김백일 1209 2002/03/20
16599             본프로그램은 UNIX에서 테스 했습니다. 님 말씀대로 윈도우에서는 안돼네요.. 적의 착오...(냉무) 산적 1177 2002/03/21
16558     스트링 배열보다는 TStringList를 쓰세요. 김백일 1872 2002/03/20
16559         Re:스트링 배열보다는 TStringList를 쓰세요. 김경완 1778 2002/03/20
16569             Re:Re:스트링 배열보다는 TStringList를 쓰세요. 나그네 1415 2002/03/20
16590                 Re:Re:Re:스트링 배열보다는 TStringList를 쓰세요. 김경완 1452 2002/03/21
16564             배열보다는 vector를 쓰세요. 김백일 1532 2002/03/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.