2014-04-29 4 views
0

C 컴파일러는 C에서 2D 배열을 처리하는 방식이 다릅니다 (C++이 아님)? 저는 C로 이미지 프로세싱을하고 있는데, 2D 배열을 다루는 것이 1D 배열에 비해 가장 직관적 인 방법 인 것 같습니다.2D 배열과 C

또한 Windows 컴퓨터에서 일부 이미지 처리 알고리즘을 사용하여 노이즈 제거 또는 스무딩을 처리했습니다. 내가 이미지와 필터를 저장하기 위해 2D 배열을 사용한다면이 알고리즘을 다른 C 컴파일러로 옮기는 것에 대해 걱정해야합니까? 장기적으로 C로 2D 배열을 사용하면 어떤 일이 일어날까요? 이 질문의 핵심은 C에서 2D 배열이 얼마나 안전합니까?

감사합니다.

+1

"2D 배열"이란 int [N] [M]'또는'int * a [N]'또는'int ** a'를 의미합니까? "2D 어레이"라는 용어는 실제로 그 중 어느 하나에 대해 (실제로는 기술적으로 올바르지 않지만) ("배열 배열", "포인터 배열"및 "포인터 포인터" "). 처음 두 개는'a [i] [j]'구문을 사용하여 일반적으로 액세스 할 수 있습니다 ... – twalberg

답변

0

C에는 실제로 1 차원 배열 만 있습니다. 2D 배열은 단순히 각 요소가 1D 배열 인 1D 배열입니다. 컴파일러는 이러한 배열을 동일하게 취급하므로 아무런 문제가 없어야합니다.

관련 문제