Limetime's TimeLine
article thumbnail
Published 2017. 9. 6. 23:39
C언어의 기본 자료형 C&C++
반응형

C언어의 기본 자료형

자료형 (Data Type) : 데이터를 표현하는 기준! (변수와 상수의 뿌리~)

* 자료형 별 크기를 정확히는 제한하고 있지 않다.


ㆍ 자료형의 필요성 

ⓐ 데이터 표현 방식이 다르다. => 최소 둘 이상의 자료형이 필요함

ⓑ 메모리 공간을 효율적으로 사용 => 다양한 크기의 자료형이 필요함


ㆍ sizeof 연산자 : 메모리 공간에서 소모하는 메모리의 크기를 바이트 단위로 계산하여 변환

=> 피연산자 :  변수ㆍ상수ㆍ자료형 이름 (컴파일러의 자료형 별 바이트 크기 확인 가능)


ㆍsizeof 연산자 형태

sizeof(변수, 상수, 자료형 이름 중 하나)

ex) printf("%d", sizeof(int)); // 4 출력, int는 4Byte


ㆍ 정수형 자료형의 선택

int 자료형은 CPU가 성능을 내기 가장 좋은 연산을 한다. int보다 작은 크기의 데이터는 int형으로 형 변환하여 연산을 한다.

ex) char와 short형 데이터는 int형 데이터로 형 변환

* 연산 속도보다 데이터 크기(용량)을 더 중요시한다면 char나 short형을 사용



ㆍ 실수형 자료형의 선택 (정밀도)

정밀도는 '오차가 발생하지 않는 소수점 이하의 자릿수'를 의미하고, 바이트 수가 커질 수록 정확하다.

float는 소수점 이하 정밀도가 6자리이고, 4Byte이다.

double은 소수점 이하 정밀도가 15자리이고, 8Byte이다.

long double은 소수점 이하 정밀도가 18자리이고, 12Byte이다.



ㆍ unsigned 선언 : 0과 양의 정수(+)로만 표현


=> 값의 표현 범위가 기존의 자료형보다 두 배 넓어짐.

ex) char = -128 ~ +147, unsigned char = 0 ~ 225

unsigned를 붙이면 부호 비트인 MSB가 데이터 저장 용도로 쓰임

=>+, -의 기분이 사라져 0 이상의 값을 표현, 범위 내 두 배

int = signed int, short = signed, short (signed는 생략)

char와 signed char는 다른 선언일 수도 있음, 'char = unsigned char'로 처리하는 컴파일러가 존재하기 때문 

(이 경우 음의 정수 저장이 불가, signed char로 선언하여 음의 정수 저장)

반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!