'2차원 배열 동적할당'에 해당되는 글 1건

  1. 2010.08.03 c언어 2차원(이차원) 배열 동적 할당 방법

1차원 배열을 동적할당하려면 malloc()를 한번만 사용하면 된다.
2차원 배열을 동적으로 할당하려면 malloc()을 여러번 사용해야한다.

int **array = null;
int height=8,width=6;
array = (int **) malloc( sizeof(int *)* height );
for( int i=0; i < height ; i++)
    array[i] = (int *) malloc( sizeof(int)* width );



전체 소스로 보면..
#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{
        int **array = NULL;
        int HEIGHT = 5;
        int WIDTH = 6;
        //2차원 배열 생성 int array[6][5]
        array = (int **) malloc( sizeof(int*)*HEIGHT );
        for( int i=0; i<HEIGHT; i++) {
            array[i] = (int *) malloc( sizeof(int)*WIDTH );
        }
        //임의의 수 할당
        for( int i=0; i<HEIGHT; i++)
        for( int j=0; j<WIDTH; j++)
            array[i][j] = i*WIDTH + j + 1;
        //2차원 배열 출력
        for( int i=0; i<HEIGHT; i++){
            for( int j=0; j<WIDTH; j++){
                printf(" %2d",array[i][j]);
            }
            printf("\n");
        }
        return 0;
}

Posted by Нуеоп
,