In C, strings are null (or NUL) terminated ("backslash 0"). The PDP-11 assembly language supported NUL terminated strings, as did Martin Richards' BCPL, the precursor of C. Dennis Ritchie found the use of a NUL terminator more convenient than having to store the length of a string. It also makes for some elegant pointer based code!
One of the default ones you might come across is _MBCS, which stands for multi-byte character set (an alternative to _UNICODE). These directives define what the compiler understands a "character" to be. ASCII and ANSI are not multi-byte character encodings.
A useful directive if you want to use the "traditional" C functions like fopen etc.which are deprecated in recent Visual Studio releases is _CRT_SECURE_NO_WARNINGS. (CRT is shorthand for C runtime).
More detail on why functions like fopen are deprecated can be found in this article on Security Features in the CRT.