– 변수는 데이터를 저장하는 메모리 공간입니다.
예 데이터의 종류에 따라 다양한 종류가 사용됩니다.
상자
– 변수의 모양 데이터 유형 또는 데이터 유형 ~로 알려진
– 데이터 유형이 크다 정수수업 실수분리
1. 정수 데이터 유형
– 같은 정수형 메모리 저장 공간의 크기에 따라 char, short, int, long, long long으로 나뉜다.
– 빅 데이터 유형은 더 넓은 범위의 값을 저장합니다.
할수있다
데이터 타입 저장 범위 계산식
(1) 문자형 변수
예(문자: 문자는 문자를 의미함)
– char 유형의 크기는 8비트, 1바이트입니다.
예.그러므로 값은 -2⁷에서 2⁷-1 범위에 저장됩니다.
예
– 다시 말해서, -128에서 127까지 값 저장할수있다
char 유형은 작은 범위의 정수를 저장할 수 있지만 주로 텍스트 저장용로 사용
– 컴파일러는 프로그램에 사용되는 모든 문자를 0~127 사이의 정수(ASCII 코드 값)로 변환하므로, char 변수는 문자를 저장하는 가장 효율적인 방법입니다.
할수있다
char 변수 사용
#include <stdio.h>
int main(void)
{
char ch1 = 'A'; // 문자로 초기화, 저장된 값은 문자의 아스키 코드 값
char ch2 = 65; // 문자 'A'의 아스키 코드 값에 해당하는 정수로 초기화
printf("문자 %c의 아스키 코드 값 : %d\n", ch1, ch1);
printf("아스키 코드 값이 %d인 문자 : %c\n", ch2, ch2);
return 0;
}
결과
문자 A의 ASCII 코드 값: 65
ASCII 코드 값이 65인 문자: A
– ‘A’라는 문자가 ch1에 저장되어 있는데 아스키 코드 값이 65이므로 ch1에 65를 저장한 것과 동일합니다.
– 결국 각각 다르게 초기화되지만 같은 값을 저장
– char형 변수를 출력할 때 %c를 사용하면 변수에 저장된 값을 ASCII 코드 값으로 해석하여 해당 값에 해당하는 문자를 출력하고, %d를 사용하면 정수를 출력한다.
하다
– 변환된 문자 출력에 따라 결론이 문자 또는 값으로 출력됩니다.
~이 되다
(2) 다양한 정수 변수
#include <stdio.h>
int main(void)
{
short sh = 32767; // short형의 최댓값 초기화
int in = 2147483647; // int형의 최댓값 초기화
long ln = 2147483647; // long형의 최댓값 초기화
long long lln = 123451234512345; // 아주 큰 값 초기화
printf("short형 변수 출력 : %d\n", sh);
printf("int형 변수 출력 : %d\n", in);
printf("long형 변수 출력 : %ld\n", ln);
printf("long long형 변수 출력 : %lld\n", lld); // long long형은 lld로 출력
return 0;
}
결과
짧은 변수 출력: 32767
int 변수 출력: 2147483647
출력 긴 변수: 2147483647
출력 긴 긴 변수: 123451234512345
– 각 데이터 타입마다 저장되는 값의 범위는 다르지만 출력은 %d를 사용합니다.
– %ld(소문자 L)는 long형, %lld는 long long형하다
(3) 데이터 유형 사용 방법 요약
① 정수형은 특별한 경우를 제외하고 int를 사용한다.
– int형은 연산의 기본 단위로 컴퓨터에서 가장 빠르다.
– Short형은 int형에 비해 크기가 작아 메모리 사용량은 적지만 연산 중 int형으로 변환되기 때문에 실행 속도가 느릴 수 있다.
– long long 타입은 크기가 8바이트이기 때문에 많은 범위의 값을 저장할 수 있지만 int 타입은 저장할 수 없지만 많은 메모리를 소모합니다.
– char ≤ short ≤ int ≤ long ≤ long long
② long형은 큰 값을 저장할 때 사용합니다.
– 일반적으로 컴파일러에서 int 타입은 4바이트이지만 가끔 2바이트로 구현하는 컴파일러도 있다.
이 경우 long 유형은 큰 값을 저장하는 데 사용됩니다.
컴파일러가 int와 long을 같은 크기로 취급하면 long을 사용할 필요가 없습니다.