CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): doldori (돌돌이)
날 짜 (Date): 2004년 7월 19일 월요일 오전 11시 08분 41초
제 목(Title): Re: questioin[3~[3~\[3~[3~[3~


에러 처리 루틴은 생략합니다.

int** create(int row, int col)
{
    int i;
    int** x = malloc(row * sizeof(int*));
    x[0] = calloc(row * col, sizeof(int));
    for (i = 1; i < row; ++i)
        x[i] = x[0] + i * col;
    return x;
}

이렇게 하면

int** x = create(10, 10);

같은 식으로 행렬을 만들고 x[i][j]로 원소 접근이 됩니다.
사용이 끝나면 반드시 메모리를 해제해야 하고요.
그리고 행과 열의 갯수도 같이 필요할 경우가 많을 테니까
포인터 변수와 행과 열의 갯수를 묶어서 구조체로 만드는 것도
좋겠군요.

ps. 이런 거 할 때는 C++을 강력히 추천합니다. 간단한 템플릿이나
표준 라이브러리 사용법만 알아도 많은 노가다를 줄일 수 있거든요.
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.