Refer Sample Here
As the name implies it is the segment for application data. Do you heard your senior asking multiple questions when you declare a global variable? He asks, because the global variables go and sit in the data segment of the memory. So what? If it sits there, it lives until the program dies and there is no ways to say get lost. Think about a big project and 1000 of people worked on it (Even in maintenance) for last 10 to 20 years and declared plenty of global variables even when it is avoidable by alternate techniques. When the program loads (in Code segment) it needs to allocate space for all those variables and allocated space is never cleared until the program exits. That is why we call these global variables and constants are application data. The memories associated to these global are known as data segment memory and it will get cleared when the program is removed.
In our example the following two statements are occupying the memory in the data segment.
//MemSeg01: Declare a Global Variable
int
x = 10;
//MemSeg02: Store address of the Global variable
in a Global Pointer
int* px = &x;

Join the conversation! Your thoughts help the community grow.