From mboxrd@z Thu Jan 1 00:00:00 1970 From: random832@fastmail.com (Random832) Date: Sat, 13 May 2017 15:05:24 -0400 Subject: [TUHS] C declarations. In-Reply-To: <20170513122050.GF9980@yeono.kjorling.se> References: <015401d2caa0$79762650$6c6272f0$@ronnatalie.com> <68E8DC0A-D1B8-4FF0-AD26-ACDC57E308AF@pobox.com> <20170511223232.GM4341@mcvoy.com> <015b01d2caa7$c658c020$530a4060$@ronnatalie.com> <20170513012415.GZ4341@mcvoy.com> <025701d2cb92$ec8182a0$c58487e0$@ronnatalie.com> <20170513122050.GF9980@yeono.kjorling.se> Message-ID: <1494702324.1901172.975588504.1BA76452@webmail.messagingengine.com> On Sat, May 13, 2017, at 08:20, Michael Kjörling wrote: > Correct me if I am wrong, but _pass by value_ as opposed to _pass by > reference_ requires making a copy, no? That's the whole point, to > allow the callee to poke at the value it is given at will. If that were the issue, the callee could simply automatically make the copy if-and-only-if it needs it. The reason that it can't be done without making a copy is, rather, that there might be some *other* reference in play, through which the original array could be modified (thus improperly changing what the callee sees).