'\0' is the null termination character. It marks the end of the string. Without it, the computer has no way to know how long that group of characters goes. When you print/copy/whatever a string, it just keeps printing/copying chars until it finds that null char... that's when it knows to stop.
EDIT:
On a side note, '\0' actually isn't special or anything, it's just an numerical escape sequence. IE: '\0' is just the literal number 0. Just like '\1' is the literal number 1.
I just felt like mentioning that for whatever reason. It's not important.
its quite useful if you want to iterate through each character of a string by just going to the next character until a \0 is found. also note that when using double quotes "" they automatically add the \0. so
char cAlphabet[] = "I know all about programming!";