Elixir processes and no shared heap memory

If a process wants to share a data structure with another process, how could that be possible?

There are cases when sharing data between processes is exactly what you need to do, you can use ETS Erlang -- ets to achieve that.