char *s1 = "world!";
s1의 타입은? pointer to char이고, pointer to char는 문자이거나 문자열의 첫 번째 위치일 수 있습니다. 둘 다 가능. 보통은 문자열의 시작을 가리키는 데 쓰죠.
여기서는 문자열 리터럴 "world!"로 초기화를 동시에 했으므로 문자열의 첫 번째 위치를 가리키는 포인터.
어쨌거나 s1의 타입은 pointer to char입니다.
void helloString(char * s1)
이 함수의 인자는? char *s1이므로 s1은 pointer to char입니다.
helloString(s1)으로 호출하면? 타입 일치.
함수도 pointer to char, 전달된 인수 s1도 pointer to char입니다.
인자와 인수.
int add(int a, int b)처럼 선언한 함수가 있으면 a, b는 인자(parameter).
add(3, 5)처럼 호출하면 3, 5는 인수(argument).
parameter를 파라미터로 사용한 역사가 길어서 parameter는 파라미터, 인자로 쓰입니다. 다만, '인수'로 쓰는 사람이 있다면 기초가 없는 사람이니까 무시하세요.
국제 표준인 C, Java, C++ 등이나 프로그래밍 언어론에서 parameter와 argument는 명확하게 위 정의를 따르고 있습니다.
교수가 와서 내가 parameter를 30년 동안 '인수'로 썼는데, 어디서 토를 달아? 라고 하면 학점은 받아야 하니까 그러려니 하십쇼.
이 답변은 사이트 관리자(저자 아님)가 작성했습니다.