책 내용 질문하기
1권 문제 3번 질문입니다.
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
89,92
조회수
290
작성일
2020-04-16
작성자
탈퇴*원
첨부파일

1권 p.89의 문제 3번입니다.

하단의 for문이

for(int i = 0; i < 5; i += 2)

sum += *(a + i);

printf("%d", sum);로 되어있는데 여기에서 *(a + i)를 수행할 때 포인터 변수로 선언된 변수가 없어도 자동으로 포인터 변수로 인식해서 작동이 되는건가요?? 궁금합니다ㅠㅠ

 

그리고 p.92의 1번 실행문 func(i,j)의 사용할 함수를 선언하는 부분에서 i,j를 int i, int j로 자료형을 써주지 않아도 똑같은 기능을 하는지도 궁금합니다~

답변
2020-04-16 21:14:12

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

 

[89p]

배열 선언 시 배열명은 포인터 변수에 해당합니다. (별도의 포인터 변수 선언 불필요)

int a[5];   -  'a'는 'a[0]'을 가리키는 포인터 변수

 

[92p]

예, 동일하게 기능합니다.

사용자 정의 함수의 세부 코드들을 뒤에 적기 위해 앞에서 미리 '이러한 함수를 사용할 것이다'라고 선언해 주는 부분(프로토타입이라고 합니다)인데, 이 경우 뒤에서 자세하게 적힐 함수의 이름(func)과 매개변수의 개수만(i, j 이렇게 2개) 동일하게 써주면 됩니다.

( func(a,b); 이렇게 써줘도 잘 돌아갑니다. 매개변수의 개수만 정확하면 됩니다.)

 

다만 코드 작성자 외의 다른 사람들이 코드를 볼 때 이해하기 쉽도록 가능한 동일한 매개변수 이름과 자료형까지 써주는 것이 좋습니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-04-16 21:14:12

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

     

    [89p]

    배열 선언 시 배열명은 포인터 변수에 해당합니다. (별도의 포인터 변수 선언 불필요)

    int a[5];   -  'a'는 'a[0]'을 가리키는 포인터 변수

     

    [92p]

    예, 동일하게 기능합니다.

    사용자 정의 함수의 세부 코드들을 뒤에 적기 위해 앞에서 미리 '이러한 함수를 사용할 것이다'라고 선언해 주는 부분(프로토타입이라고 합니다)인데, 이 경우 뒤에서 자세하게 적힐 함수의 이름(func)과 매개변수의 개수만(i, j 이렇게 2개) 동일하게 써주면 됩니다.

    ( func(a,b); 이렇게 써줘도 잘 돌아갑니다. 매개변수의 개수만 정확하면 됩니다.)

     

    다만 코드 작성자 외의 다른 사람들이 코드를 볼 때 이해하기 쉽도록 가능한 동일한 매개변수 이름과 자료형까지 써주는 것이 좋습니다.

     

    행복한 하루되세요 :)

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