Du kannst in C durchaus etwas so zurückgeben, aber nichts worauf ein Pointer zeigt. Deshalb hat Java keine Pointer sondern Referenzen, und in Java erzeugte Objekte liegen auf dem Heap und nicht auf dem Stack. Könntest du in Java einen Zeiger auf eine lokale Variable erzeugen, würde die genauso ungültig mit verlassen der Funktion.

itoa wird in stdlib.h deklariert. Details dazu gibt es in der Doku der avr-libc, entweder online oder im Doku-Ordner deiner WinAVR-Installation, oder (unter Linux) in /usr/share/doc/avr-libc

Anwendungsbeispiel:

Code:
char buf[7]; // Vorzeichen + 5 Ziffern + \0 am Ende
itoa(-12345, buf, 10); // Schreibt die Zahl -12345 Dargestellt zur Basis 10 in das Array buf
mfG
Markus