Alright ... I didn't mean this to be confusing ... here I'll remove that --- I was referring the whole class of languages which are more driven by purist theory than by practical need. There's quite a few that only support pass-by-value intentionally
C lets you make pointers to arbitrary things, so even if you somehow had a value containing your 1GB buffer, you could pass a pointer to it instead of copying it around.