diff options
| author | mo khan <mo@mokhan.ca> | 2014-07-22 20:58:55 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2014-07-22 20:58:55 -0600 |
| commit | ffe37481d3af1797b0926fb48e42603ecf6146fe (patch) | |
| tree | 3eaa06b2118c4436cca6dac8835199472145d4bb | |
| parent | fc26452c2dbb06a44042410250da4c7ff2cafb6b (diff) | |
add memory segments example.
| -rw-r--r-- | memory_segments.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/memory_segments.c b/memory_segments.c new file mode 100644 index 0000000..8718830 --- /dev/null +++ b/memory_segments.c @@ -0,0 +1,31 @@ +#include <stdio.h> +#include <stdlib.h> + +int global_var; +int global_initialized_var = 5; + +void function() +{ + int stack_var; + printf("the function's stack_var is at address 0x%p\n", &stack_var); +} + +int main(int argc, const char *argv[]) +{ + int stack_var; + static int static_initialized_var = 5; + static int static_var; + int *heap_var_ptr; + + heap_var_ptr = (int *)malloc(4); + printf("global_initialized_var is at address 0x%p\n", &global_initialized_var); + printf("static_initialized_var is at address 0x%p\n\n", &static_initialized_var); + + printf("static_var is at address 0x%p\n", &static_var); + printf("global_var is at address 0x%p\n", &global_var); + + printf("heap_var is at address 0x%p\n\n", heap_var_ptr); + + printf("stack_var is at address 0x%p\n", &stack_var); + return 0; +} |
