I have just started learning C.
I use Linux with gcc 4.2.3 (I can upgrade the version, no problem)
my problem is with C standards, here is what I know:
there are currently two standards of C implemented c89 and gnu89, and two not yet fully implemented c99 and gnu99
gnu89 is the default now, gnu99 will be the default in the future.
which standard should I use (I guess it's gnu89)? and what is the standard in which most apps are coded in, for example the linux kernel is coded in which one?
I want my code to be compatible at least under all Linux distros, but I would also like if it compiles under other operating systems too.
also if someone will recommend a standard, what book should I use as a reference for that standard ("C complete reference" is good for C89 and C99, but what about the GNU extensions in gnu89/99 ?)
Thanks in advance.