• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

강의 들으면서 궁금증이 생겼습니다.

23.05.18 21:19 작성 조회수 350

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

함수의 매개변수로 배열이 오는 경우 doSomething(int students_scores[20] 처럼, 함수 정의에서 나타나는 students_scores가 내부적으로 포인터로 인식한다고 했는데, 그렇다면 이 함수내에서 students_scores는 배열의 시작주소만 있을 뿐 이 배열의 크기가 얼마나 될지 몰라서, 만약 int형 배열 20개를 doSomething의 인자로 집어넣을 경우, 배열의 size인 20도 같이 넣어줘야 한다고 봐도 될까요? 왜냐하면 만약 doSomething내부적으로 size인자도 같이 안넘길경우, size범위를 초과하면 오류가 생길 수도 있으니깐요..

맞게 해석한지 궁금합니다!

답변 1

답변을 작성해보세요.

3

Soobak님의 프로필

Soobak

2023.05.19

안녕하세요, 답변 도우미 Soobak 입니다.

네, 전반적으로 옳게 이해하신 것 같지만, 혹시나 하는 마음으로 부연 설명드립니다.
doSomething(int students_scores[20]) 에서 괄호 안의 숫자는 매개변수가 배열이라는 점과 배열의 크기에 대한 정보를 명확히 나타내는 것에 의도가 있습니다.
인수로 전달되는 변수가 배열의 첫 번째 주소를 담은 포인터이기 때문에, 괄호 안의 숫자는 사실상 가독성을 위해서 사용되는 것입니다.

비슷한 질문의 링크를 첨부드립니다.
6.2 강의 듣는 중 질문있습니다(링크)