I know where to use it, but the truth is unclear. Then google, a better explanation, although in English, is very classic.
1.0 is an integer constant
2.'\ 0' is a character constant
3.Null is a macro (macro)
Defined in several standard headers (standard header file)
4.Nul is the name of the character constant .. I have never seen it anyway =)
All of these are ** not * interchangeable (not interchangeable)
Their usage is as follows:
1.0 can be used anywhere, it is the generic symbol for each type's zero value and the compiler will sort things out.
2.'\ 0' shoshould be used only in a character context.
3.Null is to be used for pointers only since it may be defined as (void *) 0), this wowould cause problems with anything
But pointers.
4.Nul is not defined in C or C ++, it shouldn't be used unless you define it yourself in a suitable manner, like:# Define
Nul '\ 0'