학습내용
오늘은 c++ 프로그래밍 기초 강의 2,3 과 복습을 했다.
주요내용으로는 변수를 하나하나 선언하고 초기화 하게 되면 변수가 늘어날 수록 관리하기 힘들어지고 때문에 배열을 사용하면 한꺼번에 변수들을 관리할 수 있게된다고 배웠다.

그리고 함수를 사용하는 이유에대해 또 알게되었는데 함수를 따로 만들어서 사용하지않으면 메인함수에서 모든것을 관리해야한다 즉, 변수값의 변화가 필요할때마다 메인함수에서 변경하고 관련된 모든 변수들을 일일이 찾아서 관리해주어야하지만 함수를 이용하게되면 받는 매개변수만 변경해주면 그안에서 동작하는 것들은 한꺼번에 관리가 되기 때문에 함수를 만들어서 이용하는것이 매우 효율적이라는 사실을 알게 되었다.

마지막으로 값을 전달하는 방식부분에서 깊게는 아니지만 call by value, pointer, reference 에 대하여 간단하게 배웠는데 첫번째 call by value 는 함수가 기본적으로 작동할때 매개변수로 값을 전달받게되면 그 값을 복사해서 가져오고 사용후에 함수와 함께 메모리에서 해제되기 때문에 원래 존재하던 변수값에는 아무런 영향이없다. 하지만 call by pointer를 이용해 매개변수로 포인터를 넘겨받게되면 넘겨줄때 주소값으로 넘겨주게 된다 그렇게되면 내가 선언한 변수의 주소를 직접적으로 접근해서 바꾸게 되어서 함수안에서 받아온 매개변수의 값을 변경하게되면 원래있던 값도 같이 바뀌게 된다. 마지막으로 call by reference 인데 함수의 매개변수로 &레퍼런스를 사용하게되면 변수를 편리하게 넘겨받을 수 있다 레퍼런스란 일종의 별명인데 변수를 num 이라고 가정했을때 num.X x라는 별명을 붙여서 사용하는것이다 때문에 포인터와 마찬가지로 함수안에서 레퍼런스의 값을 변경하면 이름은 다르나 같은 주소의값을 가르키기 때문에 값이 바뀌게 된다.