#include <iostream>
using namespace std;
void Func1(int arr[2][2])
{
arr[0][0] = 1000; //1행 1열의 값을 1000으로 변경합니다.
}
void Func2(int arr[][2], int row) // 2차원배열의 행은 생략할 수 있습니다.
{ //이경우에 배열의 행크기를 담는 변수를 함께 인자로 받아야합니다.
arr[row - 2][1] = 2000; // 1행 2열의 값을 2000으로 변경합니다.
}
void Func3(int *arr,int row, int col) // 포인터로 받을 수 있습니다.
{
*((arr + row - 1) + col - 1) = 3000; // 2행 1열의 값을 3000으로 변경합니다.
//*(arr + 2) = 3000; 같은 의미이다.
}
int main()
{
int data[2][2] = { {1,2},{3,4} };
Func1(data);
Func2(data, 2);
Func3(*data, 2, 2);
cout << "== 결과 ==" << endl;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
cout << data[i][j] << endl;
return 0;
}