[문과 코린이의 IT 기록장] C,C++ - 함수 반환형 (Return by Value, Return by Address, Return by Reference)
[문과 코린이의 IT 기록장] C,C++ - 함수 반환형 (Return by Value, Return by Address, Return by Reference) 기억할 사항 ) int a = 10; // Rvalue인 10을 복사해서, a에 저장한다. (이동하는게 아님) [ivalue와 rvalue] - lvalue : 단일 표현식 이후에도 없어지지 않고, 지속되는 객체. 즉, 이름을 가지는 객체 ex ) const타입을 포함한, 모든 변수는 lvalue라고 할 수 있음, ++x - Rvalue : 표현식이 종료된 후에는 더 이상 존재하지 않는 암시적인 값 ex ) 상수, 임시객체, x++ cf ) 둘 다 증가된 값을 리턴하지만, ++x는 증가된 x 자신을 리턴하기 때문에 lvalue인 반면에, x++는..
[문과 코린이의 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값에는 ..