Ok, la mia conclusione è che non riesco a fare esattamente quel che volevo. La stringa inizializzata sarà composta in questo modo:
|a|a|a|a|a|a|a|a|a|a|NULL|
L'algoritmo di conversione da valore intero a stringa ASCII che ho usato sopra funziona riempiendo la stringa dal fondo in sù, pertanto se il valore da rappresentare fosse 15378 otterrò:
|a|a|a|a|a|1|5|3|7|8|NULL|
Le operazioni di incremento o decremento dell'indirizzo del puntatore all'interno del corpo della funzione non hanno effetto sul puntatore usato nella chiamata di funzione inquanto quello interno alla funzione costituisce solo una copia di quello passato come argomento.
Il mio puntatore punterà sempre all'inizio della stringa, pertanto avrò sempre:
|a|a|a|a|a|1|5|3|7|8|NULL|
Se decido di fare in questo modo debbo verificare se non mi da problema inizializzare la stringa con il carattere spazio vuoto.
| | | | | |1|5|3|7|8|NULL|
Se invece ritornassi il puntatore all'ultimo elemento scritto come valore di ritorno allora otterrò solo quel che mi serve:
|1|5|3|7|8|NULL|
In altrentativa potrei riempire la stringa a partire dal primo elemento e aggiungere il temianatore NULL appena teminata la scrittura, ma in questo modo dovrei impiegare qualche istruzione in più nell'agoritmo di conversione.