책 내용 질문하기
정보처리기사 실기 동영상과 함께 보는 책 72p 질문
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
72
조회수
47
작성일
2017-09-16
작성자
탈퇴*원
첨부파일

72페이지 c언어 코드 화폐 매수 계산 알고리즘에서

while문 시작 위치의

while(1){

fscanf(inf, "%s %d", n, &p);

}

여기서 &p가 이해가 안됩니다

p는 int형 변수로 선언되어있고 포인터 변수로 선언된 것도 아니고

그냥 p에다가 fscanf를 통해 파일에서 정수형 값을 읽어와서 p에다 저장한다면

앞의 char문자형 n변수 처럼 그냥 p라고 적어도 되는것 아닌가요?

왜 굳이 &p처럼 주소로 지정해줘서 값을 넣어주는 것인지 궁금합니다

답변
2017-09-18 13:39:57

안녕하세요.

fscanf 함수는 파일의 데이터를 읽어오는 함수로 마지막 인수에 &를 붙이는 것은 scanf 함수에서 데이터를 받을 때 변수에 &을 붙이는 것과 같은 맥락입니다.

즉 변수의 주소로 입력받도록 만들어진 함수이므로 변수의 수조로 입력받도록 변수 앞에 &를 사용하는 것입니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-09-18 13:39:57

    안녕하세요.

    fscanf 함수는 파일의 데이터를 읽어오는 함수로 마지막 인수에 &를 붙이는 것은 scanf 함수에서 데이터를 받을 때 변수에 &을 붙이는 것과 같은 맥락입니다.

    즉 변수의 주소로 입력받도록 만들어진 함수이므로 변수의 수조로 입력받도록 변수 앞에 &를 사용하는 것입니다.

    오늘도 즐거운 하루 되세요.

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