Here's why:
* Charmander is a Kanto starter Pokémon. HeartGold is set in the Johto region. While there are some Pokémon from Kanto that appear in Johto, starter Pokémon are generally exclusive to their respective regions.
* The only way to get a Charmander in HeartGold is by trading. You'll need to find someone with a Charmander from a Kanto game and trade for it.
Let me know if you have any other questions about Pokémon HeartGold!