Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Compute the number of elements in a statically-allocated array.
_countof(
array
);
Parameters
- array
The name of an array.
Return Value
The number of elements in the array.
Remarks
Ensure that array is actually an array, not a pointer. In C, _countof will produce erroneous results if array is a pointer. In C++, _countof will fail to compile if array is a pointer.
Requirements
Macro |
Required header |
---|---|
_countof |
<stdlib.h> |
Example
// 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(arr) = 40 bytes _countof(arr) = 20 elements