7.1?全局變量和局部變量的區(qū)別
定義全局變量:?int g_nVariableType=117713190;
然后獲取全局變量的內存地址:

通過調試獲取全局變量所在地址 0x00421A30 ,地址中的數據為 0x07042926,轉換為十進制為 117717190.?全局變量在文件中的地址定位和常量?相同,也需要減去基地址,然后查閱節(jié)表得到文件地址。本示例中基地址為0x00400000,它的全局變量對應在文件0x00021A30的偏移地址處

在訪問方式?上,局部?變量的訪問是通過棧指針相對間接訪問,而全局變量的內存地址在全局數據中,通過棧指針無法訪問到。訪問全局變量和訪問常量類似--都是通過立即數來訪問。
7.2?局部靜態(tài)變量的工作方式
局部靜態(tài)變量與全局變量都保存在執(zhí)行文件中的數據區(qū)中,局部靜態(tài)變量會預先被作為全局變量處理,而它的初始化部分只是在做賦值操作而已。
7.3?堆變量
在C\C++中,使用malloc與new實現堆空間的申請,返回的數據便是申請的堆空間的地址。相對應的,使用free與delete完成堆空間釋放,但需要申請堆空間時得到的首地址。如果這個首地址丟失將無法釋放堆空間,從而導致內存泄漏。
保存堆空間首地址的變量大小為4字節(jié)的指針類型,其訪問方式按作用域來分,和之前所介紹的全局,局部?以及靜態(tài)的表現形式相同。