end, etext, edata - Defines the last location of a program
The external names end, etext, and edata are defined for all programs.
They are not functions, but identifiers associated with the following
The first address following the program text.
The first address following the initialized data region.
end The first address following the data region that is not initialized.
The break value of the program is the first location beyond the data. When
a program begins running, this location coincides with end. However, many
factors can change the break value, including:
+ The brk() function
+ The malloc() function
+ The standard I/O functions
+ The -p flag on the cc command
Therefore, use sbrk(0), not end, to determine the break value of the pro-
Functions: brk(2), malloc(3)