It is not to be said that in C: pointer is an array. The actual meaning of this is that a pointer and an array is actually the same thing. So in that sense, we could say that also an array is a pointer, or in the more practical sense: arrays can be used as pointers.
So we could go to a language that doesn't have pointless, eg. JavaScript, and create pointers:
cont obj = { value: 10 }
cont pointer = [null]
pointer[0] = obj
return pointer[0]
Obviously the [0] behaves as the dereference operator (also, forget about primitives).
But all variables are already basically pointers that auto dereference every time they are used. So the only advantage is that we can choose to not dereference, and the most common place we do not dereference:
list.find_bounds(min, max)
When we want to get out multiple values without using a struct.
But is this useful? No, its not, but arrays are pointer.
done_