책 내용 질문하기
317, 318 병합 c언어 코드관련 질문입니다
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
317,318
조회수
150
작성일
2019-06-02
작성자
탈퇴*원
첨부파일
318쪽 함수부분 질문입니다. 함수에 c배열을 전부 int c [10]으로 선언해서 썼던데 c배열이 원래 20개의 배열인데 10개로 선언해도 상관 없는건가요? 35번 마지막 함수 부분에서 디버깅을 해보니 최종적으로 k가 10이 되어서 c [10] = 0; 넣는다는데 10개의 배열이면 0~9까지 주소가 있을텐데 오류나는 것 아닌가요?
답변
2019-06-03 11:02:01

안녕하세요 길벗수험서 운영팀입니다.

 

예, 정상적으로 수행됩니다.

함수에서 배열을 받는 다는 것은 해당 배열의 주소 시작값을 받는 다는 의미일 뿐, 배열의 최대값은 이미 선언 시 결정된 것이기 때문에 함수에서 매개변수를 받을 당시에는 자료형만 일치하면 에러는 발생하지 않습니다.

 

다만 함수에서 배열 C를 받는 부분은 c[20]으로 수정되야하는 것이 맞습니다.

코드의 진행에는 문제가 없더라도 해당 표기는 혼란을 일으킬 수 있는 부분이기 때문에, 지적하신대로 수정하여 올리도록 하겠습니다.

 

오탈로 인해 학습에 불편함을 드려 사과드립니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-03 11:02:01

    안녕하세요 길벗수험서 운영팀입니다.

     

    예, 정상적으로 수행됩니다.

    함수에서 배열을 받는 다는 것은 해당 배열의 주소 시작값을 받는 다는 의미일 뿐, 배열의 최대값은 이미 선언 시 결정된 것이기 때문에 함수에서 매개변수를 받을 당시에는 자료형만 일치하면 에러는 발생하지 않습니다.

     

    다만 함수에서 배열 C를 받는 부분은 c[20]으로 수정되야하는 것이 맞습니다.

    코드의 진행에는 문제가 없더라도 해당 표기는 혼란을 일으킬 수 있는 부분이기 때문에, 지적하신대로 수정하여 올리도록 하겠습니다.

     

    오탈로 인해 학습에 불편함을 드려 사과드립니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.