Careful. They're treated the same in C, but they're not. The difference between "" and "\x00" is that the former is one byte long, whose value is null, while the latter is two bytes long - two nulls. But since everything in C treats a null as end-of-string, the difference is not apparent anywhere.