If I had wanted to compare against the string slash zero (\0) I would have said strcmp slash slash zero (\\0) to escape the slash... It is like printing a slash and a n (characters \ and n) as opposed to a newline char....
OK, fair enough.. I just find it strange to use a string compare routine to check for a single character - what more the first character in the string.. Much faster to just look into the first array index x[0]..
I remember the last time I had to add the special character '\0' as a legitimate part of a string (something to do with SMTP authentication) and that was a pain, because all the string routines (from printf to strlen) kept stopping at the first \0 and some workarounds directly accessing the string array were needed. So I honestly don't know what happens when you strcmp(x, "\0")
I think it depends how strcmp will treat the constant string "\0" itself ( \0\0 ?).. Maybe it would work after all, or it could work for most cases but fail at special cases involving the '\0' character if it were really needed as part of the string..
In C# - saying x == null tests if the object is null. You actually need to say x == String.Empty to test for an empty string ("").
OK, I see your point.. The object is invalid/uninited/yadda.. Yes, different from empty string.
char *x;
if ((null != x) && ('\0' == x[0])) { printf("Valid, but empty string!"); }

How the StringBuilder class does its thing - I don't know. But that is the point of it - it is hidden and abstracted away from me - a key concept in OO.
Well, truthfully, neither do I. And I do agree, I don't want to know the specifics.. But I would hazard a guess that it involves allocating/reallocating memory and copying the data from one place to another. Which is sort of my point, that while I believe such advances are very helpful (like your point about Unicode strings) but as programmers (especially the newer, younger ones), we really should know "more" about the lower "hidden" layers to understand what they do because they form the foundation on which we build other apps/code. The abstraction has made these sorts of programmers, well, ... Ask them which sort algorithm is used in PHP/Perl sort.. is it B-tree or Bubble? They'll give you a very funny look.. 