sizeof 연산자

해당 피연산자 형식의 크기를 기준으로 크기를 얻을 수 char.

sizeof unary-expression
sizeof ( type-name )

설명

결과 sizeof 연산자 유형입니다 size_t, STDDEF 포함 파일에 정의 된 정수 계열 형식입니다.H.이 운영자 프로그램에서 종속 컴퓨터 데이터 크기를 지정 하지 않으려면 있습니다.

피연산자 sizeof 다음 중 하나가 될 수 있습니다.

  • 형식 이름입니다.사용할 sizeof 를 형식 이름으로 이름을 괄호로 묶습니다.

  • 식입니다.식을 사용 하 여 사용 하는 경우 sizeof 와 함께 또는 괄호 없이 지정할 수 있습니다.식은 계산 되지 않습니다.

때의 sizeof 연산자 형식의 개체에 적용 된 char, 1를 얻을 수.경우는 sizeof 연산자가 배열에 적용, 총 해당 배열에는 배열 식별자가 나타내는 포인터의 크기 (바이트) 생성 합니다.배열 식별자가 나타내는 포인터의 크기를 확인 하려면 매개 변수로 사용 하는 함수에 전달 sizeof.예를 들면 다음과 같습니다.

예제

// expre_sizeof_Operator.cpp
// compile with: /EHsc
#include <iostream>

size_t getPtrSize( char *ptr )
{
   return sizeof( ptr );
}

using namespace std;
int main()
{
   char szHello[] = "Hello, world!";

   cout  << "The size of a char is: "
         << sizeof( char )
         << "\nThe length of " << szHello << " is: "
         << sizeof szHello
         << "\nThe size of the pointer is "
         << getPtrSize( szHello ) << endl;
}

샘플 출력

The size of a char is: 1
The length of Hello, world! is: 14
The size of the pointer is 4

때는 sizeof 연산자에 적용 되는 클래스, struct, 또는 공용 구조체 형식, 해당 유형의 개체에 대 한 바이트 수를 결과입니다 더한 멤버에 단어 경계 맞추려면 안쪽 여백을 추가 합니다.결과 저장소 요구 사항을 개별 구성원을 추가 하 여 계산 된 크기를 반드시 일치 하지 않습니다./Zp 컴파일러 옵션 및 pragma에 대 한 구성원에 영향을 맞춤 경계선.

sizeof 0, 빈 클래스의 경우에 절대로 얻을 수 연산자입니다.

sizeof 다음과 같은 피연산자와 연산자를 사용할 수 없습니다.

  • 기능을 수행 합니다.(단, sizeof 함수의 포인터에 적용할 수 있습니다.)

  • 비트 필드입니다.

  • 정의 되지 않은 클래스.

  • The type void.

  • 배열을 동적으로 할당 합니다.

  • 외부 배열입니다.

  • 완성 되지 않은 형식입니다.

  • 괄호로 묶은 완전 하지 않은 형식 이름입니다.

경우는 sizeof 연산자가 적용에 대 한 참조, 결과 동일 처럼 sizeof 개체에 적용 되지 않은.

마지막 요소는 구조체의 배열 크기가 지정 되지 않은 경우는 sizeof 연산자 없이 배열 구조체의 크기를 반환 합니다.

sizeof 연산자를 종종 사용 폼의 식을 사용 하 여 배열에 있는 요소의 수를 계산 합니다.

sizeof array / sizeof array[0]

참고 항목

참조

단항 연산자 식

C + + 키워드