/* source code obtained from www.ituniv.se */ #include #include #define KB 1024 #define MB (1024*1024) int global_init = 4; int global_var; int main() { int on_stack; static char big[1 * KB]; char *pHeap1; char *pHeap2; pHeap1 = malloc(7 * MB); pHeap2 = malloc(7 * MB); printf("%8x &main\n", (unsigned int) &main); printf("%8x &printf\n", (unsigned int) &printf); printf("%8x &global_init\n", (unsigned int) &global_init); printf("%8x &global_var\n", (unsigned int) &global_var); printf("%8x &on_stack\n", (unsigned int) &on_stack); printf("%8x &big\n", (unsigned int) &big); printf("%8x &pHeap1\n", (unsigned int) &pHeap1); printf("%8x pHeap1\n", (unsigned int) pHeap1); printf("%8x pHeap2 (pHeap2-pHeap1 = %d bytes)\n", (unsigned int) pHeap2, (int) (pHeap2 - pHeap1)); printf("%8x max\n", (unsigned int) -1); return 0; }