본문 바로가기
C++/라이브러리 (STL etc)

[c++] 2차원 배열(벡터) 선언 및 초기화

by 스프링섬머 2023. 7. 25.
728x90

2차원 배열을 선언하는 2가지 방법에 대해서 소개합니다.

1. 기본 배열로 선언 및 초기화

2. <STL> vector를 이용한 선언 및 초기화

1. 기본 배열로 선언 및 초기화

  • 행과 열의 사이즈를 전역 상수 const로 할당
  • change_arr()함수 인자로 넘겨줄 시 사용 가능한 foramt을 보여줌
  • 함수 내에서 값 변경시, 원본 값도 변경됨
  • 모든 배열 값들을 특정 값으로 할당하기 위해서는, 1) 이중 반복문 2) fill() 이용
  • fill(arr[i], arr[i] + column, value) : i번째 행마다 column까지의 원소에 value를 할당함

 

2. <STL> vector를 이용한 선언 및 초기화

  • vector<vector<int>> v(n, vector<int>(m)) : (n,m)형태의 벡터 생성됨
    vector안에 또 다른 벡터를 선언하므로 행렬형태의 구성이 가능하다.
  • v.size() : row 길이
    v[0].size() : column 길이
  • 초기값은 0으로 할당되며, 원할시 값을 할당할 수 있음.
  • fill()을 사용해서도 초기화가 가능하다. 
  • 함수로 넘길시 vector를 복사할 것인지, 주소만 넘길 것인지 생각해야 함.
728x90