Always Be Wise

입출력하기 본문

프로그래밍 언어/C

입출력하기

bewisesh91 2021. 12. 3. 17:07
728x90

C 언어에서는 'printf'를 이용하여 출력, 'scanf'를 이용하여 입력을 받는다.

입출력 과정에서 아래와 같이 자료형 형식 지정자를 이용한다.

#include <stdio.h>

int main()
{
  int a;
  
  printf("정수를 입력하세요 : ");
  scanf("%d", &a);
  printf("입력받은 정수 : %d", a);
  
  return 0;
}

그런데 'scanf'의 경우 저장할 변수 앞에 &를 붙인다. &는 주소나타내는 문자이다.

즉, '&a'와 같이 변수 앞에 &가 붙으면 이는 그 변수 a의 값이 아닌 a의 주소를 의미한다.

따라서 변수 앞에 &를 사용하지 않으면 입력 받은 값을 어떤 주소에 저장할지 모르기 때문에 에러가 발생한다.

'&a'는 a의 주소값이지만 a는 주소가 아니기 때문이다.

단, 문자열 배열의 경우 배열의 특성상 &를 사용하지 않아도 에러가 발생하지 않는다.

'프로그래밍 언어 > C' 카테고리의 다른 글

배열(Array)  (0) 2021.12.03
여러가지 연산자  (0) 2021.12.03
상수란?  (0) 2021.12.03
자료형 형식 지정자  (0) 2021.12.03
자료형(Data Type)이란?  (0) 2021.12.03
Comments