Question: Part 2 - Process Memory The purpose of this part is to explore the memory associated with the user process: text, data, and stack. Compile

Part 2- Process Memory
The purpose of this part is to explore the memory associated with the user process: text, data, and stack.
Compile and run the program: memory_segments.c.
Several addresses are output from the program including:
etext
edata
end
functions
global variables
static local variables
heap variables
Your task is to fill in addresses of the variables, and functions in lab1.c.
You will change the addresses to match what you are seeing when you run memory_segments.c.
Please remember to include the "etext", "edata", and "end" addresses
As variables are added to the stack, do the addresses get smaller or larger?
Do variables stored on the stack ever have the same address as other variables? Why or why not?
Where would you expect variables (or arguments) in recursive functions to be stored (stack, heap, or other data segment)? When you are finished step 6 below, comment on whether your expectations were correct or not.
Test your expectation by creating a recursive factorial function in lab1.c . For instance, the factorial of 5 is represented by 5! and is calculated as 5x4x3x2x1=120.
In the factorial function, you will print the address of the factorial function and the address of the argument passed to it.
In main, you will prompt the user for what factorial they will want to calculate and send that input as an argument to the function. In main, you will also print the value returned from the factorial function.
Note: you will be expected to use scanf and printf
The idea behind the recursive factorial function is the following:
Fn ={
1 if n =0(base case)
n*Fn-1 if n >=1(recursive step)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!