c:기본_자료형

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
c:기본_자료형 [2022/01/16 20:43] jonghoonc:기본_자료형 [2023/09/05 15:46] (current) – external edit 127.0.0.1
Line 1: Line 1:
 다음은 추가 라이브러리 필요없이 바로 쓸 수 있는 자료형이다. 다음은 추가 라이브러리 필요없이 바로 쓸 수 있는 자료형이다.
-각 자료형의 크기는 64bit ubuntu 20.04 LTS 버전의 g++ 9.3.0버전 기준으로 작성되었다. 자료형마다 할당되는 크기는 OS와 컴파일러에 따라 차이가 있을 수 있다.+각 자료형의 크기는 64bit ubuntu 20.04 LTS 버전의 g++ 9.3.0버전 기준으로 작성되었다. 자료형마다 할당되는 크기는 OS, CPU, 컴파일러 에 따라 차이가 있을 수 있다.
  
-자료 유형 구분 ^ 자료형 ^ 크기 ^ 범위 ^ 비고 ^ +^ 유형 구분 ^ 자료형 ^ 크기 ^ 범위 ^ 비고 ^ 
-자료 유형 없음 | void | - | - | - |+| 유형 없음 | void | - | - | - |
 | 정수형 | bool | 1 byte | 1 or 0 | true or false | | 정수형 | bool | 1 byte | 1 or 0 | true or false |
-| ::: | char(int8_t) | 1 byte | 27271 | - | +| ::: | char(int8_t) | 1 byte | 27271 (128127| - | 
-| ::: | unsigned char(uint8_t) | 1 byte | 0281 | - | +| ::: | unsigned char(uint8_t) | 1 byte | 0281 (0255| - | 
-| ::: | short(int16_t) | 2 byte | 2152151 | - | +| ::: | short(int16_t) | 2 byte | 2152151 (32,76832,767| - | 
-| ::: | unsigned short(uint16_t) | 2 byte | 02161 | - | +| ::: | unsigned short(uint16_t) | 2 byte | 02161 (065,535| - | 
-| ::: | int(int32_t) | 4 byte | 2312311 | - | +| ::: | int(int32_t) | 4 byte | 2312311 (2,147,483,6482,147,483,647)| - | 
-| ::: | unsigned int(uint32_t) | 4 byte | 02321 | - | +| ::: | unsigned int(uint32_t) | 4 byte | 02321 (04,294,967,295| - | 
-| ::: | long(long int, long long, long long int, int64_t) | 8 byte | 2632631 | - | +| ::: | long(int64_t) | 8 byte | 2632631 (9,223,372,036,854,775,8089,223,372,036,854,775,807)| - | 
-| ::: | unsigned long(unsigned long int, unsigned long long, unsigned long long int, uint64_t) | 8 byte | 02641 | - | +| ::: | unsigned long(uint64_t) | 8 byte | 02641 (018,446,744,073,709,551,615)| - | 
-| 실수형 | float | 4 byte | 3.4×10383.4×1038 | 최대 정확도: 소수점 아래 7자리 | +| 실수형 | float | 4 byte | $-3.402\ 823\ 4 \times 10^{-38} \sim 3.402\ 823\ 4 \times 10^{38}$ | 최대 정확도: 소수점 아래 7자리 | 
-| ::: | double | 8 byte | $-1.79 \times +| ::: | double | 8 byte | $-1.797\ 693\ 134\ 862\ 315\ 7 \times 10^{308} \sim 1.797\ 693\ 134\ 862\ 315\ 7 \times 10^{308}$ | 최대 정확도: 소수점 아래 15자리 | 
 +| ::: | long double | 16 bytes | ±1.189 731 495 357 231 765 085 759 326 628 007 016 2×104932 | 최대 정확도: 소수점 아래 37자리 | 
 + 
 +long의 경우 long int, long long, long long int 로도 쓸 수 있다. 
 + 
 +이 중 주로 사용하는 자료형은 char(문자, 문자열), int(정수), float(실수), double(실수) 이다. 
 + 
 +자료형이 가진 범위를 넘어선 숫자를 계산할 경우 stack overflow가 일어나서 원치 않은 결과를 얻을 수 있다. 또 자신이 다룰 숫자에 비해 너무 큰 크기를 가진 자료형을 사용하게 되면 메모리 낭비가 될 수 있다. 따라서 자신이 다룰 숫자의 크기가 어느정도 될 지 가늠해 보고 적절한 자료형을 사용하는게 중요하다. 
 + 
 +다시 한 번 강조하지만 위의 자료형 크기는 참조용이며, 자신의 PC 환경에 따라 조금씩은 다를 수 있다. 특히 long과 long double의 경우 PC에 따라 각각 4 byte, 8 byte를 할당하는 경우도 있으니 다음과 같이 확인해 보고 사용하는 것을 권장한다. 
 + 
 +<Code:C++> 
 +#include <iostream> 
 + 
 +using std::cout; 
 + 
 +int main() 
 +
 +    cout << "long: " << sizeof(long) << "\n"; 
 +    cout << "long double: " << sizeof(long double) << "\n"; 
 +    return 0; 
 +
 +</Code>
  • c/기본_자료형.1642333429.txt.gz
  • Last modified: 2023/09/05 15:46
  • (external edit)