34 lines
1 KiB
C
34 lines
1 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int global_var = 42; // .data
|
|
static int static_var = 7; // .data
|
|
int uninit_var; // .bss
|
|
const int const_var = 99; // .rodata
|
|
|
|
int main() {
|
|
int local_var = 10; // stack
|
|
static int static_main = 5; // .data
|
|
int *heap_var = malloc(sizeof(int)); // heap
|
|
|
|
*heap_var = 123;
|
|
|
|
printf("local_var : %p : %d\n", &local_var, local_var);
|
|
printf("*heap_var : %p : %d\n", heap_var, *heap_var);
|
|
printf("uninit_var : %p : %d\n", &uninit_var, uninit_var);
|
|
printf("static_main: %p : %d\n", &static_main, static_main);
|
|
printf("static_var : %p : %d\n", &static_var, static_var);
|
|
printf("global_var : %p : %d\n", &global_var, global_var);
|
|
printf("const_var : %p : %d\n", &const_var, const_var);
|
|
|
|
// Código da função main (.text)...
|
|
printf("main() : %p\n", &main);
|
|
|
|
// Pausa para análise na linha de comandos...
|
|
puts("Tecle algo para terminar...");
|
|
getchar();
|
|
|
|
free(heap_var);
|
|
|
|
return 0;
|
|
}
|