프로그래밍

1차원 배열 다수를 2차원 배열로

지니아부지 2011. 8. 18. 00:31

막 입문한 사람들은 1차원 배열 다수를 2차원 배열로 결합할때 FOR 문을 사용할 지도 모릅니다.

하지만 이런 방식은 상당한 성능의 하락을 가지고 오게되죠.

(움직이는 영상들을 처리할 경우에 포문 한번에 눈에 보이는 프레임 하락도 있습니다)

그래서 간단하지만 실용적(?)인 걸로 한번 시작을 끊어볼 까 하네요.

01 typedef int ARRAYTYPE;
02 const int INDEX = 30;
03 const int ARRAYSIZE = sizeof(ARRAYTYPE) * INDEX;ARRAYTYPE SrcArray1[INDEX];
04 ARRAYTYPE SrcArray2[INDEX];
05 ARRAYTYPE SrcArray3[INDEX];
06 ARRAYTYPE DstArray[3][INDEX];
07          
08 memcpy(DstArray + 0, SrcArray1, ARRAYSIZE);
09 memcpy(DstArray + 1, SrcArray2, ARRAYSIZE);
10 memcpy(DstArray + 2, SrcArray3, ARRAYSIZE);

매우 간단한 코드라 주석 달 필요가 없네요. :)

배열은 연속되어있는 메모리 공간이라는 점을 자주 인지하시기 바랍니다.