1) (Page 148) quote from="K&R" A union may only be initialized with a value of the type of its first member: thus the union u described above can be initialized with integer value
The truth is that in spite of all these words by K&R, this code works
2) (Page 150) Bit fields *should* be only integer, i never learnt much about bit fields, but now i understand their importance.
3)sizeof is a compiler directive
4) you cant create pointers for a register variable, although i knew this, i think, its nice to jot it down here
5) Crooked examples of pointers:
x: an array of  of pointer to function returning pointer to char of array (you cant get worser than this)
6)typedefs when properly used can save a lot of head scratches!!!. I rarely(when did that rare even happen?) use typedefs in my code.
7) (this one from venks)
Now i try to compile and execute:
[varun@localhost a]$ gcc test.c
[varun@localhost a]$ ./a.out
hello-errhello-errhello-errhello-err ..... i get this continuously.
The question is, why the hell am i getting this? why dont i even get a string of hello-out?
Answers happily invited..