CでLazyは簡単だよ。あまりにも簡単なので拍子抜けする人続出だと思うけど。

LispでもLazyをやるときは,lambda関数でLazyにしたい処理を
くるんで後の関数に渡す。後の関数は、それを受け取って
適切な時に実行する。ある種の意味でパターンだと思う。
delayとforceを使って遅延評価するのは、あくまでlambdaより簡単に
遅延評価使えるからだと思う。

lambdaでLazyが出来るんだから関数ポインター"typedef void* (*lambda)(void*);"でも
理屈上できる。関数型言語になれている人でないと考えずらいですし、めんどくさいで
しょうでしょうがね。

そういうことです。呆れたかな?