Q:

how wchar_t data type working c?

I know it is not a built in data type. In c++ i understand we can create a data type which looks and acts almost similar to basic data type. But in C I don't understand how it works similar to basic data type.

A:

I know it is not a standard data type

Yes, its standard (described in <stddef.h>)

wchar_t
      Integral type whose range of values can represent distinct wide-character codes for all members of the largest character set
  specified among the locales supported by the compilation environment:
  the null character has the code value 0 and each member of the
  Portable Character Set has a code value equal to its value when used
  as the lone character in an integer character constant.

But in C I don't understand how it works similar to basic data type.

Use the functions and macros of wchar.h header

