进程地址空间
一、引入概念
1. 程序的地址分布
测试代码:
#include <stdio.h>
#include <stdlib.h>
//已初始化全局数据区
int d = 0;
//未初始化全局数据区
int c;
int main(int argc, char* argv[], char* env[])
{
//栈区
int a = 0;
//堆区
int* p = (int*)malloc(sizeof(int));
//已初始化静态区
static int b = 0;
//未初始化静态区
static int e;
//常量区
const char* str = "hello Linux";
printf("stack addr: %p\n", &a);
printf("heap addr: %p\n", p);
printf("uninit g_val addr: %p\n", &c);
printf("init g_val addr: %p\n"