[문과 코린이의 IT 기록장] C,C++ - 함수에서 포인터 활용하기(함수끼리의 변수의 값 변경, 포인터를 활용한 함수 문제 해결, SWAP함수, 배열을 인자로 받아들이는 함수, 상수를 인자로 받아들이..
- 이제 포인터를 실제로 써먹을 수 있는 방법을 배울 수 있다. * 혹시 아직 포인터에 대한 내용을 잘 모른다면, 아래 자료를 참고해 주세요 :) 1. 함수끼리의 변수의 값 변경 - 저번 내용에서, main함수에서 다른 함수에서 정의된 변수의 값을 바꿀 수 없다고 이야기 했다. ex ) i의 값이 전혀 바뀌지 않았다는 것을 알 수 있다. 그 이유는 함수 change_val을 호출할 때, change_val함수 안에서 정의된 변수인 i는, main함수의 i의 값을 전달 받은 후에, change_val 함수 안에서 정의된 변수 i의 값을 3으로 변경하게 된다. 그런데, main함수의 i가 아닌, chage_val함수 내에서 정의된 변수 i의 값이 3으로 변경되는 것이기 때문에, 결국 main함수의 i값에는 ..
[문과 코린이의 IT 기록장] - C,C++ 2차원 배열(2차원 배열, 2차원 배열에서의 포인터, 2차원 배열의 연산)
[문과 코린이의 IT 기록장] - C,C++ 2차원 배열(2차원 배열, 2차원 배열에서의 포인터) 1. 2차원 배열의 [ ]연산자 int A[2][3];이 표현되는 방식 ex ) 이를 보면 arr[0] = &arr[0][0]이고, arr[1] = &arr[1][0]라는 것을 알 수 있다. 이를 통해, 1차원배열과 마찬가지로 sizeof나 주소값 연산자와 사용되지 않을 경우, arr[0]은 arr[0][0]을 가리키는 포인터로 암묵적으로 타입 변환되고, arr[1]은 arr[1][0]을 가리키는 포인터로 타입 변환된다. 2. 2차원 배열 sizeof ex ) - 총 열의 개수 : sizeof(arr[0]) / sizeof(arr[0][0]); // 총 열의 개수는 한 행의 크기에, 한 배열의 크기를 나누면..