C언어에는 표준 입출력 함수가 있습니다
사용자가 프로그램과 소통하기 위해서 사용하는 함수를 입출력 함수 (I/O 함수)라고 부릅니다
대표적으로는 printf()와 scanf()함수가 있는데 이 둘에 대해서 알아봅시다
printf( ) 함수
# include <stdio.h>
int main() {
printf("Hello, World");
return 0;
}
위 예제 코드에서는 Hello World를 출력합니다
print는 말 그대로 출력한다는 의미이고 뒤에 붙은 f는 오타가 아닌 formatted 의 약자입니다
서식화된 출력을 할 수 있다는 것을 의미합니다
여러 종류의 데이터를 서식에 맞춰서 출력할 수 있는데 서식 지정자를 통해 어떤 서식에 맞춰 출력할 지 결정할 수 있습니다
printf("The Number Is %d", 10);
위 코드에서 %d가 int형 데이터를 나타내기 위한 서식 지정자입니다
[C언어] #2 이스케이프 시퀀스, 서식 지정자 (tistory.com)
Scanf()
# include <stdio.h>
int main(void) {
int a;
scanf_s("%d", &a);
printf("%d", a);
return 0;
}
더보기
위 예제 코드에서는 scanf가 아닌 scanf_s를 사용했는데 버퍼오버플로우에 대한 취약점이 있어 보안을 위해 사용한 것입니다
위 예제코드에서는 scanf로 변수 a를 입력받은 후 a를 출력하는 코드입니다
C언어는 데이터를 입력 받기 위해서는 데이터를 저장할 메모리를 할당받아야 하는데 이 할당 받을 메모리 공간을 변수 (Variable)이라고 부릅니다
이전 printf에서는 서식 지정자가 있었는데 scanf에서도 비슷해 보이는 게 있습니다
차이점이 있다면 & 이 붙은 건데 scanf에서는 서식 지정자가 아닌 주소 연산자라고 부릅니다
입력 받은 데이터를 주소 연산자가 지정한 변수에 저장하라는 의미입니다
728x90
반응형
'Programming > C' 카테고리의 다른 글
[C언어] 연산자 - 산술 연산자와 대입 연산자 (0) | 2022.04.01 |
---|---|
[C언어] 연산자 - 연산자의 우선 순위와 결합 방향 (0) | 2022.04.01 |
[C언어] 데이터 타입 (자료형) (0) | 2022.03.31 |
[C언어] 변수와 상수 (0) | 2022.03.31 |
[C언어] 이스케이프 시퀀스, 서식 지정자 (0) | 2022.03.31 |
댓글