それはスタックから消えてたらおだぶつやね

lua の場合はそういうときは関数をレジストリになげこんでおいて、
C側ではそれのキーを保持しておくのが定石

ただし、整数値のキーは lua が内部的に使っていて衝突の可能性が
あるので、普通は C側のポインタ値を lightuserdata としてキーにする。

静的変数のポインタか、lua の値を C側でとっておくための動的オブジェクトの
ポインタとかをキーにするのが一般的やね。