I know this is a beginner question, but I can not understand how it works, on every source I find I see a different way to do the same, and I don't understand the difference between these ways to build a function in c which returns a string.
What is happening when:
I write the asterisk after the return type?
char* my_function(){...}
What if write the asterisk before function name?
char *my_function(){...}
What is the asterisk between both?
char * my_function(){...}
What 2 asterisk means?
char **my_function(){...}
And yes, the next code compiles:
char* * **my_function(){...}
OR... are they all the same thing?