C언어

혼공c 함수의 매개변수 자리에 배열을 선언하는 경우

jayoon 2021. 8. 31. 04:57

이 때에는 배열의 저장 공간이 할당되지 않으며, 매개변수로 선언된 배열의 이름은 자동으로 포인터 변수오 바뀐다. 형식은 유지한 체 포인터 변수로 변경된다는 의미이다.
컴파일러는 배열명을 자동으로 포인터로 바꾸고 타 함수에서 선언된 배열의 모든 배열 요소를 사용할 수 있도록 포인터 연산을 수행한다.
그리고 타 함수에서 선언된 배열의 크기는 알 수 없으므로 알고 싶다면 따로 반드시 요소의 개수를 인수로 받아야 한다.

정리하면 배열로 매개변수에 선언하면 크기를 생략하든 어떤 수로 적었든 컴파일러가 자동으로 포인터로 변경한다.