pour ton char : déclare le avant : ça évite qu´il soit recréé a chaque itération. Mais cependant, pour un char, tu ne perdras pas tant de temps que ça, sauf si tu es en zone tres tres critique (genre une fonction appelée plusieurs millions de fois par seconde)
Sinon, pour optimiser ton appel, si ta fonction n´est appelé qu´une fois par frame, tu ne gagneras rien.
En effet, meme si tu perds 1 nanoseconde (je dis ça au hasard) lorsque tu appelles une fonction, c´est parfaitement négligeable comparé a plusieurs milliemes de secondes que le calcul de ta frame fera.
Néanmoins, si un jour tu veux réduire les appeles de fonction, soit tu copies le corps de ta fonction brutalement a chaque fois qu´elle est appelée, soit tu demandes au compilo de le faire (pour cela, tu déclares "inline" devant tes fonctions)
Attention : les inline peuvent faire monstrueusement grossir un programme.
Sinon, jamais d´appel récursif dans une fonction inline