다음을 통해 공유


_countof 매크로

정적으로 할당 된 배열 안의 원소의 갯수를 계산합니다.

_countof( 
   array
);

매개 변수

  • array
    배열 이름입니다.

반환 값

배열의 요소 수입니다.

설명

array는 실제로 배열이지 포인터가 아니라는 것을 보장합니다. C에서 array가 포인터일 경우 _countof는 잘못된 결과를 생성할 것입니다. C++에서 array가 포인터일 경우 _countof는 컴파일을 실패할 것입니다.

요구 사항

매크로

필수 헤더

_countof

<stdlib.h>

예제

// crt_countof.cpp
#define _UNICODE
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>

int main( void )
{
   _TCHAR arr[20], *p;
   printf( "sizeof(arr) = %d bytes\n", sizeof(arr) );
   printf( "_countof(arr) = %d elements\n", _countof(arr) );
   // In C++, the following line would generate a compile-time error:
   // printf( "%d\n", _countof(p) ); // error C2784 (because p is a pointer)

   _tcscpy_s( arr, _countof(arr), _T("a string") );
   // unlike sizeof, _countof works here for both narrow- and wide-character strings
}
  

참고 항목

참조

sizeof 연산자