본문 바로가기

언어5

sizeof 연산자 sizeof 는 좀 특별합니다. 컴파일러가 수행하고 CPU 가 실행하지 않는 특수한 연산자인데요. 함수처럼 생겼지만 함수가 아닙니다. 오늘은 프로그래밍을 할 때 sizeof 연산자를 쓸 때 주의해야할 점을 알아봅시다. sizeof 연산자의 피연산자는 자료형이다. sizeof 연산자는 피연산자의 자료형에 대한 연산입니다. 즉 sizeof(5) 라는 연산을 진행할 때 5는 정수가 아니라 int 라는 자료형을 가리키는 겁니다 . 'sizeof(5) = sizeof(int)' 그리고 int 형은 4바이트기 때문에 sizeof(5)의 결과는 4가 됩니다. sizeof 연산자의 피연산자는 자료형 입니다. int nData = 10; printf("%d\n", sizeof(nData + 10)); 답은 뭘까요? 네 .. 2020. 9. 28.
%*c 형식문자 scanf("%d%*c",&Age); 이런 코드 본 적 있으신가요? 이는 %d 형식 문자 외에 %*c라는 형식 문자가 추가된 형태인데, 이것은 문자 하나를 입력 버퍼에서 읽어온 후 그냥 버린다는 것을 의미합니다. 이는 fflush(stdin); 으로 입력 버퍼를 비워버리는 거와 같은 동작인데요. fflush 은 윈도우에서만 사용이 가능하기 때문에 다른 운영체제간의 통합을 생각한다면 이와 같은 방식이 더 괜찮을 수 있습니다. (fflush 는 원래 출력 버퍼를 비우는 게 표준인데 윈도우에서 이 표준을 어겨서 입력 버퍼를 비우는 걸로 합니다. 그러므로 표준을 지킨 리눅스, 유닉스에서는 사용되지 않습니다.) 그럼 이 형식 문자의 사용 예를 살펴보겠습니다. 위 코드를 사용하면 사진처럼 원하는 결과와는 좀 다른 .. 2020. 9. 22.
파이썬 입출력(input()) 파이썬 입력 알고리즘 문제를 풀 때 첫 단추는 '데이터 입력 받기' 입니다. 파이썬에서는 데이터를 입력 받을 때 input() 을 사용합니다. input()의 경우에는 한 줄의 문자열을 입력 받게 해줍니다. 문자열로 입력받기 때문에 이를 정수형으로 바꿔주려면 int() 함수를 사용해야합니다. 그리고 여러 개의 입력을 받을 때는 공백으로 구분 되는 경우가 많습니다. 그래서 입력을 받은 문자열을 띄어쓰기로 구분해서 각각 정수자료형으로 저장하는 코드는 다음과 같습니다. list(map(int, input().split()))) 여기서 map()은 모든 원소에 int() 함수를 적용하는 역할을 합니다. 최종적으로 list()로 다시 바꿔서 이를 입력받은 문자열을 띄어쓰기로 구분해 각각 숫자 자료형으로 저장합니다.. 2020. 9. 21.
파이썬 자료형 자료형에 대한 이해는 모든 프로그래밍 언어의 시작이라고 할 수 있다. 파이썬의 자료형은 C/C++, 자바와 같은 다른 언어에서 사용되는 기본 자료형을 제공할 뿐만 아니라 사전 자료형, 집합 자료형 등의 유용한 자료형을 기본으로 내장하고 있어 매우 편리하다. 수 자료형(Number) : 데이터는 모두 수로 표현할 수 있다. 대부분의 프로그램에서는 일반적으로 정수와 실수가 많이 사용되고 그 중에서도 정수가 기본으로 사용된다. 실수는 오차 범위 때문에 예기치 못한 오류를 범하기도 쉬고 정확성도 떨어진다. 실제로 코딩테스트에서도 대부분 정수를 다루는 문제가 출제된다. 1. 정수형(Integer) - 양의 정수, 음의 정수, 0 2. 실수형(Real Number) - 소수점 아래의 데이터를 포함하는 수 자료형 실.. 2020. 9. 19.