컴퓨터 프로그래밍에서 매개변수는 '함수의 정의 부분에 나열된 변수들'을 의미한다.
반면, 전달인자는 '함수를 호출할 때 전달되는 실제 값'을 의미한다.
이 두 문장이 어려워 보이지만 다음 예시에서 보면 쉽다.
f(x)=3*x
여기서 x가 매개입자이고 만약 f(2)를 한다면 2가 전달인자가 된 것이다. 프로그래밍에서 일반적으로 매개변수가 몇개든 상관없으며 심지어 없을 수도 있다. 그러나, 전달인자는 함수를 호출할때 매개변수 만큼 필요한경우가 거의 대부분이다.
만약 함수가 매개입자를 가질 경우 각각의, 매개변수에 대한 정의를 나열해 놓은 것을 매개변수 목록이라고 한다. 또, 함수를 호출하는 부분에서 전달인자를 나열해 놓은 것을 전달인자 목록이라고 한다.
이 부분을 설명하는데에 있어 예전에 나의 수학선생님이 참신하게 설명하셨다. 설명은 다음과 같다.
"함수 f(x)=3*x 에서 x를 너가 태어나서 부터 '엑스'라고 읽었어? 아니지. 다시 태어나서 너가 나한테 입양이 된거야. 어느날 너가 유치원에서 x를 '엑스'라고 배워온거지. 그런데 내가 장난기가 발동해서 x를 '2'라고 읽도록 가르친거야. 처음엔 너가 '엑스'인가 '2'인가 헷갈려 하면서 유치원 선생님이 '엑스'라고 했다고 주장 했겠지? 근데 내가 '2'라고 바락바락 우기며 밥도 안주고 잠도 안재우면 넌 x를 '2'라고 읽게 돼. 자 이제 f(x)이거 어떻게 읽지?" 설명이 좀 괴랄하긴 하지만, 다시 태어나서 ..(중략).. '2'로 읽게된 x에서 2는 전달인자고 x는 매개변수이다.
키보드로 입력한 실수(소수점이 있는 수)를 그대로 출력하는 프로그램을 작성해보자.
실수 한 개가 입력된다.
입력된 실수를 그대로 출력한다.
1.414000
1.414000
이전 예제와 같다 대신 %c가 아니라 %f라고 쓴다.
또, char 로 변수 선언하는 것이 아니라 float으로 변수 선언을 한다.
python은 상관없다.
'Programming > Codeup.kr기초100제 && 컴퓨터 이야기' 카테고리의 다른 글
[기초-입출력] 문자 두 개 입력받아 순서 바꿔 출력하기 && 코딩스타일-괄호 및 띄어쓰기 (0) | 2016.11.05 |
---|---|
[기초-입출력] 정수 두 개 입력받아 그대로 출력하기 && 코딩스타일-변수/함수 명칭의 작성 스타일 (0) | 2016.11.04 |
[기초-입출력] 문자 한 개 입력받아 그대로 출력하기 && 함수에 대하여 (0) | 2016.11.02 |
[기초-입출력] 정수 한 개 입력받아 그대로 출력하기 && 변수에 대해서 (0) | 2016.11.01 |
[기초-출력] 출력하기07 && 파이썬의 역사 (0) | 2016.10.30 |