C++ | 배열 수정하기

heige·2024년 1월 2일
0

CPP

목록 보기
10/12
post-thumbnail

배열 수정하기

Array의 요소 수정하기

Array의 요소를 수정할 때는 다음처럼 크기를 정하지 않은 int a[], 또는 배열의 크기인 int a[3], 배열의 포인터인 int * a를 넘겨서 수정할 수 있다.

#include <bits/stdc++.h>
using namespace std;

int a[3] = {1, 2, 3};
void go(int a[]) {
  a[2] = 100;
}
void go2(int a[3]) {
  a[2] = 1000;
}
void go3(int *a) {
  a[2] = 10000;
}
int main(){
  go(a); cout << a[2] << '\n';
  go2(a); cout << a[2] << '\n';
  go3(a); cout << a[2] << '\n';

  return 0; 
}
/*
100
1000
10000
*/

2차원 배열 수정하기

vector

2차원 vector의 경우 다음과 같이 수정한다.

#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> v;
vector<vector<int>> v2(10, vector<int>(10, 0));
vector<int> v3[10];
void go(vector<vector<int>> &v) {
  v[0][0] = 100;
}
void go2(vector<vector<int>> &v) {
  v[0][0] = 100;
}
void go3(vector<int> v[10]) {
  v[0][0] = 100;
}
int main(){
  vector<int> temp;
  temp.push_back(0);
  v.push_back(temp);

  v3[0].push_back(0);

  go(v); go2(v2); go3(v3);
  cout << v[0][0] << " : " << v2[0][0] << " : " << v3[0][0] << '\n';
  return 0; 
}
/*
100 : 100 : 100
*/

array

2차원 array는 다음과 같이 수정한다.

#include <bits/stdc++.h>
using namespace std;

int a[3][3] = {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}};
void go(int a[][3]) {
  a[2][2] = 100;
}
void go2(int a[3][3]) {
  a[2][2] = 1000;
}
int main(){
  go(a); cout << a[2][2] << '\n';
  go2(a); cout << a[2][2] << '\n';
  return 0; 
}
/*
100
1000
*/
profile
웹 백엔드와 클라우드 정복을 위해 탄탄한 기반을 쌓아가고 있는 예비개발자입니다. 'IT You Up'은 'Eat You Up'이라는 표현에서 비롯되어, IT 지식을 끝까지 먹어치운다는 담고 있습니다.

0개의 댓글