What is \ ?

Perhaps I've not been "asking the right question" but can anyone please direct me to an explanation of the function and use of the \ operator generally in C, if that is indeed what it is, but also specifically in the context of client.findUntil and client.readStringUntil. So far my own searches have drawn a blank. They have revealed that \0 is ASCII NUL, \r and \n are carriage return and line feed, and that \ does not figure in the C++ definitions of "operators". I shan't list the Forum posts that I've looked at, but at best they give examples without explanation. It pops up in other examples too in books and on GitHub of the use of both of the aforementioned methods to process JSON streams from a web site e.g. \" and : where " and : seem to be all that's needed, without explanation or apparent reason, at least to me. So direction to a concise reference on the what how and why of \ would be most useful as I want to understand it, not just copy code then blindly modify it 'till it works.

\ is used as the escape character. It causes special handling of the next character

For example, suppose you want to print " in your text

Try this

void setup() 
{
    Serial.begin(115200);
    Serial.println("\"some quoted text\"");
}

void loop() 
{
}

...and is the preprocessor line continuation.

[quote author=Coding Badly link=msg=3802333 date=1531294133] ...and is the preprocessor line continuation.

[/quote] It's not just in preprocessor directives.

How many people have gotten fancy with comments, like so:

// Useless comment where user tried to be cute \\
int dummy = 0;

and learned later that dummy was not defined in this scope?

Thank you all. Now the fog is lifting. I'll go back to some of the examples and see them in a new light. But just to be clear, if I see

"SomeText\":\""

in a FindUntil that's searching in a JSON text stream containing

"SomeText":"3",followed by more label:value pairs

\ is telling the search to treat the second and third double quotation marks as part of the text stream rather than defining what follows them as text?

\ is telling the search to treat the second and third double quotation marks as part of the text stream rather than defining what follows them as text?

No, it is telling the compiler to treat the \" as a ", so that what gets passed to the method is "SomeText":"3"

Not the search, but the compiler. "SomeText\":\"" is treated by the compiler as the bytes 0x53 0x6F 0x6D 0x65 0x54 0x65 0x78 0x74 0x22 0x3A 0x22 0x00