c/c++

[c언어] 이차원 배열 사용 함수

Нуеоп 2012. 4. 21. 01:37

int **make2dArray(int width, int height) {

  int **arr;

  int i;


  arr = (int **) malloc(sizeof(int *) * height);

  for (i = 0; i < height; i++) {

    arr[i] = (int *) malloc(sizeof(int) * width);

  }

  return arr;

}



void free2dArray(int **arr, int height) {

  int i;

  for (i = 0; i < height; i++) {

    free(arr[i]);

  }

  free(arr);

}


void print2dArray(int **arr, int w, int h) {

  int x, y;

  for (y = 0; y < h; y++) {

    for (x = 0; x < w; x++) {

      printf("%3d", arr[y][x]);

    }

    printf("\n");

  }

  printf("\n\n");

}


void init2dArray(int **arr, int w, int h, int a) {

  int x, y;

  for (y = 0; y < h; y++) {

    for (x = 0; x < w; x++) {

      arr[y][x] = a;

    }

  }

}