Si miráis este código podéis ver que el valor se le asigna dentro de la función pero fuera no.
Código
#include <iostream> #include <stdlib.h> using namespace std; void cambiar_nombre(char *name,int a,int b); void cambiar_nombre(char *name,int a,int b){ char c[2]; itoa(a,c,10); name[b]=c[0]; name[b+1]=c[1]; cout << c[0] << endl; cout << c[1] << endl; cout << name[0] << endl; cout << name[1] << endl; }; int main(int argc,char *argv[]){ char hola[]="hola"; cambiar_nombre(hola,15,0); cout << "\n----------------------------"<< endl; cout << hola; cin.get(); cin.get(); return 0; }