c語言中返回的變數位址,其實體地址在?(刨根問底)

2022-05-23 19:42:07 字數 247 閱讀 7277

首先明確一點c語言中返回來的位址是虛擬位址(邏輯位址),虛擬位址和實體地址之間的轉化是作業系統自動進行完成的。

邏輯位址,是作業系統

分配給你可執行程式的實體地址空間上對映出來的邏輯位址。

一般地邏輯位址和實體地址沒有直接的關係,這個轉換由作業系統完成並維護,與你的程式無關。

特殊地某些位址,比如說中斷向量位址,再比如說串列埠等物理埠位址這些是由硬體決定的,你的變數如果對映到這些的話返回的就是實體地址

有關

區域性變數位址的返回

char fun 這個函式的返回值?以及這個函式在棧上的儲存布局 include include include char fun int main int argc,const char argv 就函式而言,返回區域性變數的位址這種做法是錯誤的,但是這個函式不管是在vs還是在gcc上編譯時都只會...

C語言 結構體變數位址

includetypedef struct student stu intmain 陣列名 陣列位址 陣列第乙個元素的位址 陣列第乙個元素的第乙個成員的位址 printf 張三位址 d n edu printf 張三位址 d n edu printf 張三位址 d n edu 0 printf 張三...

c語言中const 型別變數位址賦值給指標。

const在c語言中是表示道義上保證變數的值不會被修改,並不能實際阻止修改,通過指標可以修改常變數的值,但是會出現一些不可知的結果。幾種情況不同,我們乙個乙個來看。1 直接賦值 const inta 3 a 5 const.c 6 2 error assignment of read only va...