http://wololo.net/talk/viewtopic.php?f=37&t=6245
One important thing to note is that in C everything is a number. Even a character is a number (its ASCII code is stored). This is because for computers everything are numbers too. Keep this awake in your mind forever when dealing with computers.
On a programmer's point-of-view, C distinguishes basically between 2 types of data: numbers and characters (and strings of characters). Let's begin with the numbers.
This is a rather bold claim. Though that crazy-shit ass language lets you treat just about any region of memory as containing an unrelated value, and you can seemingly cast function types (not even pointers) to goddamn longs, from a cursory glance on the standard, those values are defined to be... characters! This based on the language used to describe the
memset function on the C99 standard, item §7.21.6.1.
Better refrain from trying to sum up the language's semantics as with ``everything is an x''. That's almost always wrong.