You can stack-allocate in C, with alloca() or by taking the address of a local, and use it like a pointer. So long as you're extremely sure nothing is going to hang onto the pointer beyond the lifetime of that stack frame, it's fine.
Same thing with Go, except that the compiler makes the decision.
Same thing with Go, except that the compiler makes the decision.