3.10 sizeof 연산자    [doc]    [smts]

 연산자 sizeof 은 한 개의 피연산자를 갖는 단항 연산자로서 데이터의 바이트 수를 정수로 구하는 기능을 한다. 다른 연산자가 대부분 특수한 기호로 되어 있는 반면 sizeof  연산자는 식별자의 모양을 가지고 있어서 함수나 매크로가 아닐까 오해하기 쉽지만 엄연히 기본 연산자이고 따라서 이것을 사용하기 위해서 어떠한 헤더 파일을 인클루드할 필요가 없다. 예를 들어 int 자료형의 바이트수를 구하고 싶다면 다음과 같이 하면 된다.


sizeof(int);

혹은 생성된 변수의 자료형도 구할 수 있다.


double da = 1.1;
int ia = sizeof(da);

이 연산자를 이용하면 뒤에 나올 enum, struct, union 같은 자료형의 바이트수도 쉽게 구할 수 있다.


0310-01.c

#include <stdio.h>
int main() {
   //자료형의 바이트수 구하기
   printf("int : %d bytes\n", sizeof(int));
   printf("long long : %d bytes\n", sizeof(long long));

   // 변수의 바이트 수 구하기
   long double lda = 0;
   long la = 11;
   printf("lda : %d bytes\n", sizeof(lda) );
   printf("la : %d bytes\n", sizeof(la) );
}

실행 결과

int : 4 bytes
long long : 8 bytes
lda : 16 bytes
la : 4 bytes

 sizeof 연산자는 메모리를 할당하는 malloc(), calloc() 함수와 같이 사용되어 할당될 메모리의 크기를 지정하는데 주로 사용된다.


'프로그래밍언어.Lib > C,C++' 카테고리의 다른 글

조건문 예제 2  (0) 2016.04.04
콤마(,) 연산자  (0) 2016.04.04
1장 연습문제  (0) 2016.03.28
2.7 논리형(bool형)  (0) 2016.03.28
2.6 문자 상수  (0) 2016.03.28
Posted by 살레시오

댓글을 달아 주세요