As I know that in C, we can use function pointer and this is called during run-time (1).
By definition from wikipedia:
Dynamic programming language is a term
used broadly in computer science to
describe a class of high-level
programming languages that execute at
runtime many common behaviors that
other languages might perform during
compilation, if at all …
So my question is, why C is not a dynamic language providing the feature in (1) ?
Because the function in your function pointer is still compiled at compile time.
You cannot add a new function or modify a function “on the fly” at runtime.