|
김경완 님이 쓰신 글 :
: 감사합니다..
:
: 그런데 제가 예를 잘못들었네요..
:
: 원래는
:
: 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을 쓰면 거의 메모리 할당을 잊어버리고 살아도 됩니다. ^^;
|