My favorite book, way back when, was the following:
C: A Reference Manual
By Samuel P. Harbison, Guy L. Steele
Published Feb 21, 2002 by Prentice Hall.
Thanks for that. With your term of 'reference manual' I was also able to find this
But it's for C 89, I think?
I don't know the difference between C89 and C99, if there is much? Or is C99 also out dated?
That site also didn't have a few of the specific items I was looking for, like:
!=null does the '!' simply mean 'not'? Can that be used in any expression?
%s, %d, %i in a string, what do these mean, precisely? Is a slash required before or after the quotes?
const char *Name does the '*' define the variable as a string, or is the '*' only used for manual notation?
With respect to X423424X ...
I have carried "The C Programming Language", written first by Brian Kernighan and Dennis Ritchie (modeied/updated many times since) ever since 1988. 250 pages of "very good reference, not the best teacher though". Prentice Hall, ISBN 0-13-110362-8.
But then learning is a very individual thing, with individual responses to the same book.
If you want a cut and dry reference manual then that would be the definitive ISO standard:
Programming language - C (ISO/IEC 9899:1990)
This is definitely not for learning the language. It's pure reference.
And Steve359 is right. It's been a lot of years since I had to pull those books off my bookshelf and the old Kernighan and Richie C book was the book I believe I originally used to learn C. Forgot all about it. [Hmm, under a bright light I think the edges of mine are starting to turn yellow.]
And to answer your questions:
! is the C logical not operator. It can be used in any expression, but gives strange results in an arithmetic context!
However, != is a single operator, the not equals.
The %c et al mean *nothing* in a general C string, they only work in a "format specifier" context like printf(). They tell printf() what arguments to expect and how to print them. %s says that the argument is a '\0' terminated string.
I don't know what you mean by "slash before or after the quotes" a \" in a string says to print a " and not terminate the string
const char *Name ...
"char *" means pointer to a character. C is all about pointers and memory referencing. A quite necessary topic.
As to "const char *Name" ... refresh my memory forum ... is that a "constant pointer to a char" or a "pointer to a constant (unchangin) char"? Or is that particular problem just with C++?