i have a file function.c and main.c. In function.c there is this
int GetRow(int descriptor,char* src)
char* carattere= (char*)malloc(sizeof(char));
printf("The line Detected was %s %s\n",carattere,src);
You still passing the char * src by value. If you want to change the value of the pointer you need to pass a reference to it. use char **src and set *src = carattere;
Just because you're passing a pointer doesn't mean you're necessarily passing by reference. If you malloc memory for src in main and then pass the reference to that memory (as you have the char * src) you can change the value at that reference by *src = *carattere but that's probably not what you want either.