본문 바로가기
■ Programming /C++

[C++] 4-2. 데이터들의 크기를 알려주는 sizeof 연산자

by Popbox 2017. 3. 20.
반응형

[C++] 4-2. 데이터들의 크기를 알려주는 sizeof 연산자

[뇌를 자극하는 C++ , 저.이현창]책을 기준으로 작성하였습니다

 

데이터들의 크기를 알려주는 sizeof 연산자

 

이번에는 sizeof 연산자에 대해서 알려드리겠습니다.

뒤에 배우는 내용이지만 이름뒤에 괄호() 가 붙으면 함수라고 합니다.

sizeof 연산자를 사용할때 괄호를 써서 함수라고 생각하는 분들이 생각보다 많을 것 같습니다.

 

1
2
3
4
5
    //둘은 같은 의미입니다.
    //괄호는 생략되도 되지만 가독성을 위해 사용합니다.
    int a;
    cout << sizeof(a) << endl;
    cout << sizeof a  << endl;
cs

 

 

-> 괄호는 생략 가능합니다. 괄호가 있다고 함수가 아니라, 여기서 괄호는 묶는 의미입니다.

 

sizeof 연산자는 지정된 데이터의 크기를 반환합니다.

이전 포스트에 다양한 데이터 타입을 보면, 각 타입별로 메모리 크기가 적혀 있는걸 보셨을꺼에요.

( 데이터 타입 표 보기 : http://popbox.tistory.com/11)

맞는 말인지 테스트 해보겠습니다.

 

 

  1.  정수형

 

 

 
1
2
3
4
5
6
7
8
    int     Int = 0;
    short Short = 0;
    long   Long = 0;
    
    //출력
    cout << "Int타입   메모리 크기 : " << sizeof(Int)   << endl;
    cout << "Short타입 메모리 크기 : " << sizeof(Short) << endl;
    cout << "Long타입  메모리 크기 : " << sizeof(Long)  << endl;
cs

 

 

 

 

 

 

 

  2.  실수형

 

1
2
3
4
5
6
    float  Float  = 0;
    double Double = 0;
    
    //출력
    cout << "Float타입   메모리 크기 : " << sizeof(Float)   << endl;
    cout << "Double타입  메모리 크기 : " << sizeof(Double) << endl;
cs

 

 

 

 

 

 

  3. 논리형 , 문자형

 

1
2
3
4
5
6
    bool Bool = false;
    char Char = 'A';
    
    //출력
    cout << "Bool타입   메모리 크기 : " << sizeof(Bool)   << endl;
    cout << "Char타입   메모리 크기 : " << sizeof(Char)   << endl;
cs

 

 

 

 

 

 

  4. 변수이름이 아니라 데이터형식 자체를 넣어도 된다

 

좀더 숙달이 되면 사용자정의 데이터타입을 배우게 됩니다.

C에서는 구조체가 있죠??

구조체는 여러 데이터를 모아 하나의 형으로 만든 것 이기 때문에.

구조체를 만든 사람이 아니면 데이터 크기를 알 수 없습니다.

그래서 데이터 형 자체를 sizeof 연산자를 이용해 크기를 볼 수 있습니다.

 

1
2
    cout << "int형 메모리 크기   : "   << sizeof(int)   << endl;
    cout << "short형 메모리 크기 : "   << sizeof(short<< endl;
cs

 

 

 

 

 

 

 

 

 

 


 

 감사합니다. 공감 한번 부탁드려요.

[ 다음 장 ]

[ C++ ] 4-3 . 10진수, 8진수, 16진수의 표현 및 출력 : http://popbox.tistory.com/31  

 

반응형

댓글