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.