Search code examples
functiondereference

what does this dereference operator in front of function name do?


I haven't found any mention of this anywhere. There is a dereference operator in a function name like this:

char *func()
{
   //code
}

what is the purpose of that * operator?


Solution

  • You are not actually dereferencing anything, the * is part of the return type. The compiler doesn't really care about where you place the *, so your code is equivalent to writing

    char* func() { }
    

    In other words it means that func() returns a char pointer.