functional call fun create temporary(local) mem for q in stack area, and life time of this mem is valid till execution of fun function call(or u can say you reserved that potion of mem to use it in fun function call only and after fun poped out from stack reservation no more valid for that portion of area any other function or program may use that portion again), after completion of this function fun activation record which was pushed at the time of function call now poped out and all reference to the local mem which was locally created in stack area are also destroyed, the purpose of fun2() AND bigger value of i is to use location of q which was previously used in fun(), each run of for loop create a block of mem and store 2oo, due to i<100000000000 it create lots of mem block and replaces each by 200, at some instances of time it uses portion of mem which was previously reserved for fun() function call(bcz we can use it, that block in fun no more reserved to particular function)