《横扫Offer:程序员招聘真题详解700题》著者:开点工作室编著 P8
#include<stdio.h>
#include<stdlib.h>
int k1 = 1;
int k2;
static int k3 = 2;
static int k4;
int main(void)
{
static int m1 = 2, m2;
int i = 1;
char* p;
char str[10] = "hello";
char *q = "hello";
p = (char*)malloc(100);
free(p);
printf("栈区-变量地址 i:%p\n",&i);
printf(" p:%p\n", &p);
printf(" str:%p\n", str);
printf(" q:%p\n", q);
printf("堆区-动态申请 p:%p\n", p);
printf("全局外部有初值 k1:%p\n",k1);
printf("全局外部无初值 k2:%p\n", k2);
printf("静态外部有初值 k3:%p\n", k3);
printf("静态外部无初值 k4:%p\n", k4);
printf(" 内静态有初值 m1:%p\n", m1);
printf(" 内静态无初值 m2:%p\n",m2);
printf("文字常量地址 str:%p,str:%p\n", &str,q);
printf("程序区地址 main:%p\n", &main);
return 0;
}
结果:
栈区-变量地址 i:0000008052AFF914
p:0000008052AFF938
str:0000008052AFF958
q:00007FF656499D3C
堆区-动态申请 p:000001D474184B30
全局外部有初值 k1:0000000000000001
全局外部无初值 k2:0000000000000000
静态外部有初值 k3:0000000000000002
静态外部无初值 k4:0000000000000000
内静态有初值 m1:0000000000000002
内静态无初值 m2:0000000000000000
文字常量地址 str:0000008052AFF958,str:00007FF656499D3C
程序区地址 main:00007FF656491190