본문 바로가기
C++

call by value 기초

by 영카이브 2022. 6. 12.
  • call by value란?

값에 의한 호출을 말한다

함술를 호출할 때 인수의 값이 매개 변수로 복사된다는 의미

 

 < 인수와 매개변수에 대해 한 번 더 짚고가기 >

인수 :  호출프로그램에 의하여 실제로 전달되는 값

매개변수 : 인수를 전달받는 변수

ex)

* call by value를 야구에 비유해 이해해보기

숫자 하나를 야구공처럼 보내면 글러브같은 역할을 하는 int x를 하나 만든다.
그리고 만약 숫자가 2개 보내면 int x, int y 따로 2개 설정한다. int x, y 는 불가능.
그리고 변수는 main에서 설정한 변수 타입이랑 같아야함.

 

주의) main 함수의 변수와 매개변수가 int x라고 표시되어도 엄연히 개별적인 변수이다. 

즉 main함수에서의 int x와 abc(int x) 의 int x는 서로 영향을 받지않는다.

 

문제)

숫자 하나를 입력하고 bts함수로 보낸다

55156 이라는 배열에 그 숫자가 몇개 있는지 세고 출력하시오

 

bts함수

main 상황

<count 하는법>

int cnt =0; 이라고 만든뒤

for문 안에 cnt++; 를 하면 해당조건에 따라 카운트되어진다.

출력은 cout << cnt; 

 

  • return 이란?

반환값 

함수는 자신을 호출한 곳으로 값을 반환할 수 없으므로 반환하려면 return을  써주어야한다

즉 앞선 call by value에서는 야구공을 던졌다

return은 거기서 호출한값을 다시 받는 것을 의미

ex) 7을 abc함수에 보내고 return 5를 하면 7이 5로 바뀐다

 

반환형이 아닐시 void라고 표시 

반환형일 시 반환값과 맞는 타입으로 void대신 쓴다.

ex) abc함수에서 main으로 문자를 반환할시 char abc() 

 

 
*  return 의 또 다른 역할 : 함수안에서 break역할또한 한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

'C++' 카테고리의 다른 글

문자열(string) 기초  (0) 2022.06.12
배열의 최대값(max), 최소값(min) 구하기 , flag  (0) 2022.06.12
포인터(Pointer) 기초  (0) 2022.06.12
swap 기초  (0) 2022.06.12
구조체 기초  (0) 2022.06.12