On 18 Jul 2003, Mike Hearn wrote:
Hm, so if you declare an array like so:
DWORD args[32];
and then pass args as a parameter of type "DWORD *args", it automatically gets the address of it? I thought passing variables directly like that would normally cause a copy by value, but I don't know C well enough I suppose.
Yes, in C everything is passed by value, but args is a pointer to 32 consecutive DWORDs, so in this case the value of args is the address, and it's the address that gets copied.