본문 바로가기

컴퓨터 과학 & 영상처리 관련/C / C++

C의 기이한 배열 접근법

C 컴파일러는 myArray[i]를 *(myArray + i)로 변환하는데 이는 *(i + myArray)과 같고 이는 i[myArray] 과 같다

전문가들은 이와 같은 사실을 어떻게 활용해야 할지 알고 있다. 인덱스를 생성하는 함수를 이용하므로 이 사실을 숨길 수 있다.

 

int myfunc(int q, int p) { return p % q; };

...

myfunc(6291, 8)[Array];

 

불행히도 이 기법은 네이티브 C 클래스에서만 사용할 수 있으며 자바에서는 할 수 없다.