_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
}