Parameter와 Argument 차이
Parameter와 Argument는 분명한 차이가 있지만 대부분 의미면이나 용어 사용에서 차이를 두지 않고 사용되어 지고 있다.
■ Parameter
함수를 정의할 때 그 함수 내에서 필요로 하는 값들이 있다. 함수가 필요로 하는 값들은 여러 종류
가 있을 수 도 있고 여러 방식으로 정의되어 있을 수 도 있다. 예를 들어 공유메모리 공간에 정의되
어 있을 수도 있고 전역변수로 잡혀 있을 수 도 있다. 하지만 경우에 따라서 이러한 값들은 여러 곳
에서 사용하고 있기때문에 해당 함수가 필요로 하는 시점의 데이터의 신뢰성을 떨어뜨릴 수 있다.
그래서 함수를 정의할 때 함수 내에서 필요로한 변수를 함수명에 붙여서 정의할 수 있다. 아래와 같
이 말이다.
int fnTest(char *a, int b)
{
...
}
여기서 정의된 문자열 포인트 a와 정수형 a는 파라미터(매개변수)이다.
■ Argument
파라미터가 정의된 함수를 호출할 경우 해당 함수에 값을 넘겨주는데 이 때 넘겨주는 의미있는 값
을 Argument라고 한다. 또 다른 말로 인자, 인수라고도 한다.
만약 위에서 정의된 fnTest를 호출할 경우 fnTest(szBuf, sizeof(szBuf))의 형식으로 호출 할 수 있
는데 이때 Argument인 szBuf와 sizeof(szBuf)는 fnTest함수의 Parameter a와 Parameter b로 정의
하게 되는 것이다.
[출처] Parameter와 Argument의 차이|작성자 시대유감