試題--變量存儲區域

《橫掃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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章