Command line arguement: This block accepts all the values passed by the programmer. It also contains environment variables.
Stack: Used for static allocation in a program.
Function call results are most probably stored here which are directly stored in RAM. Access time in the stack is very fast.
Heap: It is used for dynamic memory allocation. Memory allocation is done at runtime. Accessing items present in heap is slower than in a stack space.
Uninitialized Data: Also called a BSS block started by symbol. Global and static variables that dont have any explicit initialization in the program are stored in this data block. This block contains only uninitialized data.
Initialized Data: Global and static variables initialized by the programmer with predefined values in the program are stored in the initialized data block.
Text : This block contains the machine code/ instructions the CPU needs to execute.