책 내용 질문하기
1권 88쪽 예제1 함수 정의 질문
도서
2020 시나공 정보처리산업기사 실기 [기본서]
페이지
88
조회수
237
작성일
2020-07-04
작성자
탈퇴*원
첨부파일

예제1을 보면 5번에 "인수로 받은 i와 j가 정수형 변수임을 선언한다. 꼭 해야 한다."

라고 적혀있는데 제가 배우기로는 선언시에만 매개변수의 자료형을 적어주고

정의시에는 변수명만 적어줘도 된다라고 배웠습니다.

 

정의시에 정수형 변수임을 꼭 선언해야한다고 작성하신 이유가 궁금합니다.

 

visual studio 2019에서 컴파일해봤을때 정의시 5번(int i, j);을 적지 않아도 에러가 전혀 발생하지 않았습니다.

혹 다른 ide에서 작성시 문제가 발생할 수 있는건가요?

답변
2020-07-06 13:13:18

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

 

매개변수의 자료형은 생략할 경우 자동으로 int형으로 인식하기 때문입니다.

때문에 i, j에 대한 자료형을 생략해도 컴파일 시 그 자리에 자동으로 int가 들어가서 실행되기 때문에 오류가 발생하지 않는 것이죠. 

(a, b를 double로 선언하고 func함수에서 %f 로 출력하면 i, j는 int이기 때문에 서식 지정자가 잘못되었다는 경고가 뜹니다.)

 

매개변수는 인수로 보내진 값을 저장하는 변수이기에 값을 어떠한 형태로 저장해야 하는지 그 자료형을 지정해주어야 합니다.

때문에 없어서는 안되는 것이죠.

실무에서 int형이라도 해당 코드를 다른 사람이 보았을 때 변수의 자료형을 확실히 알 수 있도록 int를 적어주는 것이 좋습니다.

(또한 컴파일러 버전에 따라 생략 시 int형으로 자동변환되지 않을 가능성도 있습니다.)

 

행복한 하루되세요 :)

  • 관리자
    2020-07-06 13:13:18

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

     

    매개변수의 자료형은 생략할 경우 자동으로 int형으로 인식하기 때문입니다.

    때문에 i, j에 대한 자료형을 생략해도 컴파일 시 그 자리에 자동으로 int가 들어가서 실행되기 때문에 오류가 발생하지 않는 것이죠. 

    (a, b를 double로 선언하고 func함수에서 %f 로 출력하면 i, j는 int이기 때문에 서식 지정자가 잘못되었다는 경고가 뜹니다.)

     

    매개변수는 인수로 보내진 값을 저장하는 변수이기에 값을 어떠한 형태로 저장해야 하는지 그 자료형을 지정해주어야 합니다.

    때문에 없어서는 안되는 것이죠.

    실무에서 int형이라도 해당 코드를 다른 사람이 보았을 때 변수의 자료형을 확실히 알 수 있도록 int를 적어주는 것이 좋습니다.

    (또한 컴파일러 버전에 따라 생략 시 int형으로 자동변환되지 않을 가능성도 있습니다.)

     

    행복한 하루되세요 :)

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