dosomething ( char* argServerip) { argServerip = "anything"; printf ("%s", argServerip); // "anything" is printed !! } main() { *argServerip = (char *) malloc (20); dosomething (argServerip); printf ("%s", argServerip); // Nothing is printed !! Why !? }