Not quite sure what you are asking here, but ...
Obviously, s1, s2 and s3 will occupy different memory areas.
However, the allocated memory for them is on the stack, so there will be no calls malloc()/new()to actually “allocate” the memory.
Allocating memory from the stack is fast (just subtracting it from the stack pointer), so for allocating 3 'studys' there is usually only one assembler instruction to do something like SUB 3*sizeof(study)SP.