책 내용 질문하기
p. 84, 85 쪽 문제 문의합니다
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
84,85
조회수
664
작성일
2019-03-25
작성자
탈퇴*원
첨부파일

1. 84쪽에 (*ansan).jikwi , (*ansan).pay 이렇게 사용되는 예를 보여주고 있는데

ansan은 포인터 변수가 아닌데 왜 저렇게 사용하는 지 이해가 안 가요

 

2. 85쪽에 scanf("%d", &data.pay); 라고 하는 코드가 있는데

왜 &를 앞에 적은 건지 안 적은거랑 무슨 차이인지 알려주세요

답변
2019-03-26 11:17:26

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

 

[1]

구조체를 포인터 변수로 선언할 때 구조체를 가리키는 방법을 설명한 것입니다.

구조체 포인터 변수를 선언하려면 일반 변수와 같은 방식으로 선언하면 되며, 선언된 구조체 포인터 변수는 해당 방법대로 표기하여 사용할 수 있습니다.

(예 : struct sawon *data;)

 

 

[2]

scanf 함수의 이용법을 다시 한 번 숙지하시기 바랍니다.

 

scanf의 경우 값을 입력받을 때, 입력받은 값을 저장할 위치를 '주소값'으로 받아야 합니다.

때문에 일반 변수앞에는 &를 사용해주어야 합니다. 

 

반면 변수명 자체가 주소값을 가리키는 변수들이 존재합니다.

배열과 포인터 변수가 여기에 해당하죠.

이와 같은 변수들은 변수 이름 자체가 주소값을 의미하기 때문에 &를 생략하여야 합니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-26 11:17:26

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

     

    [1]

    구조체를 포인터 변수로 선언할 때 구조체를 가리키는 방법을 설명한 것입니다.

    구조체 포인터 변수를 선언하려면 일반 변수와 같은 방식으로 선언하면 되며, 선언된 구조체 포인터 변수는 해당 방법대로 표기하여 사용할 수 있습니다.

    (예 : struct sawon *data;)

     

     

    [2]

    scanf 함수의 이용법을 다시 한 번 숙지하시기 바랍니다.

     

    scanf의 경우 값을 입력받을 때, 입력받은 값을 저장할 위치를 '주소값'으로 받아야 합니다.

    때문에 일반 변수앞에는 &를 사용해주어야 합니다. 

     

    반면 변수명 자체가 주소값을 가리키는 변수들이 존재합니다.

    배열과 포인터 변수가 여기에 해당하죠.

    이와 같은 변수들은 변수 이름 자체가 주소값을 의미하기 때문에 &를 생략하여야 합니다.

     

    행복한 하루되세요 :)

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