C에서 2차원행열을 Malloc으로 메모리 할당하고 사용하다가 가끔가다 이상하게 뻑나는 경우가 있다.
이유는 내가 실력이 부족해서 겠지만...
아래와 같은 방법으로 2차원 행렬을 1차원으로 표현해서 사용하면 된다.
배열은 알기 쉽게 (0,0) 이 시작이 아닌 (1,1)이 시작이다.
예전에 적어 놓은 것 인데... 가물가물하다.
ps. 근데 행렬인가 행열인가?! ㄱ-? 난 바본가...
/**********************************************************************
* START, 가상2차행열
***********************************************************************/
char *two_d_m(char * str, int i, int j){
//printf("%d\n", m_c * (i-1) + (j-1) );
return &str[m_c * (i-1) + (j-1)];
}
/**********************************************************************
* END, 가상2차행열
***********************************************************************/