Name: Anonymous 2015-07-27 20:45
... when C has function pointers?
weak typing is when values have types but the language inserts all sorts of implicit conversionsThis is a redefinition by "scripting language" programmers to distinguish their language from Perl, not the original meaning of the term.
C's ability to cast to *void is 1) explicitIt is implicit, which is one of the incompatibilities with C++.
2) defeats the very point of types.From a strongly typed point of view, the only type C has is
unsigned char. (This might help you understand the difference between strong and weak types.)This means it ultimately has no types, neither weak ones nor strong ones.Close, but it only has one type:
unsigned char.Nope, at least not completely strongly typedIt's impossible to throw away the type of a value. They have no conversions either (since they have only one strong type, that's absurd). The "conversions" are really a dispatch hidden inside the built-in operators.