目录
接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧
一:程序地址空间
1.在学习c/c++时,经常会听到堆区,栈区,代码段,常量区等对于空间中内存的划分
接下来将通过在Linux运行代码的结果来再次认识地址空间的划分
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int g_val_1;
int g_val_2 = 100;
////
int main(int argc, char *argv[], char *env[])
{
printf("code addr: %p\n", main);
const char *str = "hello bit";
printf("read only string addr: %p\n", str);
printf("init global value addr: %p\n", &g_val_2);
printf("uninit global value addr: %p\n", &g_val_1);
char *mem = (char*)malloc(100);
char *mem1 = (char*)malloc(100);
char *mem2 = (char*)malloc(100);
printf("heap addr: %p\n", mem);
printf("heap addr: %p\n", mem1);
printf("heap addr: %p