2차원배열, 함수 매개변수로 넘기는 방법과 파일명 정렬 소스

1차원 배열을 넘어 2차원배열로 가면 문법을 자주 잊어버리기 일쑤입니다.  C의 단점이기도한 복잡한 문법, 물론 C++보다는 낫습니다만 가독성이 많이 떨어집니다.


한번 정리할겸 기록해놓았습니다.



foo(char (*string)[60]) { } main() { char string[20][60]; foo(string); }


간단하게 이렇게 넘깁니다. 아래는 간단한 예제로 파일명 정렬하는 소스입니다.


MCHAR file_list[30][60];
file_sort(file_list, 20);

static void file_sort(char (*files)[60], u8 count)
{
  char tmp[60];
  u8 i, j, n;

  n = count;

  for(i=0; i 0)
      {
        strcpy(tmp, files[i]);
        strcpy(files[i], files[j]);
        strcpy(files[j], tmp);
      }
    }
  }
}



'▶ 이전글 > C Coding' 카테고리의 다른 글

typedef enum을 써야하는 강력한 이유  (0) 2018.02.02
불완전 선언(구조체전방선언)  (0) 2014.10.02
static  (0) 2014.10.02
typedef, define  (0) 2014.10.02
enum  (0) 2014.10.02