What is the difference between (char)0 and '\0'? in C

Sathya picture Sathya · Sep 28, 2011 · Viewed 42.5k times · Source

What is the difference between using (char)0 and '\0' to denote the terminating null character in a character array?

Answer

Matthew Flaschen picture Matthew Flaschen · Sep 28, 2011

They're both a 0, but (char) 0 is a char, while '\0' is (unintuitively) an int. This type difference should not usually affect your program if the value is 0.

I prefer '\0', since that is the constant intended for that.