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
'C++ > 라이브러리 (STL etc)' 카테고리의 다른 글
[c++] 반복문 iterator처럼 사용하기. (0) | 2023.07.26 |
---|---|
[c++] vector 입력 (6) | 2023.07.25 |
[c++] 1차원 배열(벡터) 선언 및 초기화 방법 (0) | 2023.07.25 |
[c++] <STL> pair 사용법 (0) | 2023.07.24 |
[c++] cin.getline() vs getline() 및 cin.ignore() 정리 (3) | 2023.07.14 |