티스토리 뷰

C++

C/C++ 의 모든 자료형 정리

통통푸딩 2020. 10. 19. 16:29
반응형

정수 자료형의 크기 및 범위(LLP64/IL32P64, Windows)

 

자료형크기범위비교

 

char 

signed char

1바이트, 8비트

-128~127

 

unsigned char

1바이트, 8비트

0~255

 

short 

short int

2바이트, 16비트

-32,768~32,767

int 생략 가능

unsigned short 

unsigned short int

2바이트, 16비트

0~65,535

int 생략 가능

int

signed int

4바이트, 32비트

-2,147,483,648~ 2,147,483,647

 

unsigned 

unsigned int

4바이트, 32비트

0~4,294,967,295

int 생략 가능

long

long int

signed long

signed long int

4바이트, 32비트

-2,147,483,648~ 2,147,483,647

int 생략 가능

unsigned long 

unsigned long int

4바이트, 32비트

0~4,294,967,295

int 생략 가능

long long 

long long int 

signed long long 

signed long long int

8바이트, 64비트

-9,223,372,036,854,775,808~

9,223,372,036,854,775,807

int 생략 가능

unsigned long long 

unsigned long long int

8바이트, 64비트

0~18,446,744,073,709,551,615

int 생략 가능

 

 



▼ Microsoft Visual C++ 의 자료형의 형태는 아래와 같다. 

 

Type NameBytesOther NamesRange of Values

int

*

signed, 

signed int

System dependent

unsigned int

*

unsigned

System dependent

__int8

1

char, 

signed char

–128 to 127

__int16

2

short, 

short int, 

signed short int

–32,768 to 32,767

__int32

4

signed, 

signed int

–2,147,483,648 to 2,147,483,647

__int64

8

none

–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

bool

1

none

false or true

char

1

signed char

–128 to 127

unsigned char

1

none

0 to 255

short

2

short int, 

signed short int

–32,768 to 32,767

unsigned short

2

unsigned short int

0 to 65,535

long

4

long int, 

signed long int

–2,147,483,648 to 2,147,483,647

long long

8

none
(but equivalent to __int64)

–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

unsigned long

4

unsigned long int

0 to 4,294,967,295

enum

*

none

Same as int

float

4

none

3.4E +/- 38 (7 digits)

double

8

none

1.7E +/- 308 (15 digits)

long double

same as double

none

same as double

wchar_t

2

__wchar_t

0 to 65,535

A variable of __wchar_t designates a wide-character or multibyte character type.
By default wchar_t is a typedef for unsigned short.

 



 

 

▼ printf 이용 시에 사용해야 하는 서식 문자

서식문자

출력 대상(자료형)

출력 형태

%d

int

부호 있는 10진수 정수

%u

unsigned int

부호 없는 10진수 정수

%o

unsigned int

부호 없는 8진수 정수

%x, %X

unsigned int

부호 없는 16진수 정수

%f

float, double

10진수 방식의 부동소수점 실수

%e, %E

float, double

e 또는 E 방식의 부동소수점 실수

%g, %G

float, double

값에 따라 %f와 %e 사이에서 선택

%c

char

값에 대응하는 문자

%s

char *

문자열

%p

void *

포인터의 주소 값

%n

int *

포인터의 주소 값

%lu

unsigned long

부호없는 long

%llu

unsigned
long long

부호없는 long long

 

서식

의미

출력 타입

설명 

%hd

short integer

unsigned short 

부호없는 10진 정수 출력

%d 또는 %i

Decimal, Integer

int 

10진 정수 출력

%ld

 

long

10진 정수 출력

%lld

 

long long

10진 정수 출력

%lu

 

unsigned long

부호없는 10진 정수 출력

%I64d

 

__int64

10진 정수 출력 

%I64u

 

unsigned __int64

부호없는 10진 정수 출력 

%o

Octal

unsigned int

8진 정수 출력

%x 또는 %X

heXadecimal

unsigned int

16진 정수로 출력.

대문자 X 쓰면 A~F도

대문자 출력

%u

Unsigned

unsigned int

부호없는 10진 정수 출력

%c

Character

char, unsigned char

1개의 문자 출력

%s

String

char*, string, CString

문자열 출력

%f

Float

float

고정 소수점 형식의 실수 출력

%lf

 

double

고정 소수점 형식의 실수 출력

%e 또는 %E

 

float, double

부동 소수점 형식의 실수 출력

%g 또는 %G

 

float, double

%e, %f 중 

더 짧은 형식으로 출력

%p

Pointer

void *

포인터의 번지값 출력

%n

 

 

출력된 문자 개수를

포인터에 대입

%%

 

 

%문자 자체를 출력

 

 

 

 

▼ printf 규칙

 

printf(“%#7.5hd”);
printf(“%ABCD”);

A B C D

A : 출력의 형태에 조절을 가하기 위한 특별한 표시문자(#)

−: 좌측 정렬

0 : 빈 공간을 0으로 채우기

+ : 출력 할 수의 크기가 0보다 클 때, + 기호 붙여주기

공백: 출력 할 수의 크기가 0보다 클 때 수의 앞에 빈칸 하나 출력

# : 8진수, 16진수 출력 시 각각 0과 0x를, 실수의 경우 소수점 이하 0 출력

B : 출력에 사용되는 최소한의 폭(7)

C : 정밀도(5)

D : 출력데이터의크기정보변경(h)

 

 

 

 

 

 

▼ scanf 이용 시에 사용해야 하는 서식 문자

서식문자

입력대상(자료형)

입력 형태

%d

int

부호 있는 10진수 정수

%i

int

부호 있는 10진수 정수

%u

unsigned int

부호 없는 10진수 정수

%o

unsigned int

부호 없는 8진수 정수

%x

unsigned int

부호 없는 16진수 정수

%c

char

문자

%s

char *

문자열

%p

void *

주소 값

%f %e %g

float

부호 있는 실수

%d

%hd

%hhd

int

short

char

%d

%ld

%lld

int

long

long long

%f

%lf

%Lf

float

double

long double

 

 

 

 

 

▼ 상수에 사용되는 접미사 정리 

 

일단 상수는 변경이 가능한 변수와 달리 변경이 불가능한 수입니다.
상수에는 두 가지 종류가 있는데 바로 정수형 상수와 실수형 상수 입니다.
정수형,실수형 상수는 다음과 같습니다. 

 

  • - 정수형 상수는 int 형으로 표현합니다.

    - 실수형 상수는 double 형으로 표현합니다.

 

즉, 숫자를 변수에 직접 대입할 때, 알아야 할 것이라고 생각하면 됩니다. 

 

1234 같은 것이 정수형 상수 int 이며 (int val = 1234;) 3.14 같은것이 실수형 상수입니다.
실수형으로 선언시 double 형으로 표현됩니다.

여기서 float 형을 쓰게 된다면 (float val2 = 3.14;) 라고 쓰면 3.14는 double 형이 됩니다.
이렇게 쓰면 데이터가 잘려나갈 수 있습니다. (기본형 double 의 범위와 float 범위가 다르다)
이것을 방지하기 위해 상수 뒤에 접미사를 붙혀서 해결할 수 있습니다.

float val2 = 3.14f 위와 같이하면 3.14는 float 형이됩니다.
이처럼 정수형 상수에는 접미사를 붙힐 수 있습니다.
접미사의 종류는 다음과 같습니다.

 

접미사

자료형

U

unsigned int

L

long

UL

unsigned long

LL

long long

ULL

unsigned long long



 

출처 : melonicedlatte.com/algorithm/2018/03/04/022437.html

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday