/* Ejemplo sencillo con memoria dinámica * Con cadena de caracteres */ #include #include // Para exit #include // Para malloc y free #include /* Une dos cadenas devolviendo un puntero a una * cadena creada con memoria dinámica donde se ha * copia la unión de ambas */ char * UnirCadenas ( char *cad1, char *cad2 ) { char *aux; int tamano; tamano = strlen(cad1)+strlen(cad2)+1; // +1 Para el caracter \0 aux = (char *) malloc ( tamano * sizeof(char)); if ( aux != NULL ) { strcpy(aux,cad1); strcat(aux,cad2); } return aux; } void main() { char *Memsaje="Buenos dias Sr/a:"; char Nombre[30]; char *Completo; printf(" Introduce su nombre :"); scanf("%s", Nombre ); Completo = UnirCadenas(Memsaje,Nombre); printf("> %s \n",Completo); getchar(); getchar(); }