已采納回答 / onemoo
函數本身代碼的地址并不在棧中,它們在代碼段中。函數調用時才會將參數和各種用到的變量以棧幀結構存在棧中,這會使棧依照調用順序來增長。所以參數的壓棧地址可以說明它們的調用順序。
2015-09-16
已采納回答 / onemoo
str2="world" 這樣并不是把world這幾個字符復制到str2所指的區域,字符串字面量做右值時會轉換為指向首字符的指針,所以這語句是把str2指向“world”這個字符串所在的位置。需要復制字符串應使用LS說的strcpy函數。一般程序會把字符串字面量放到只讀數據段中(無法被修改),所以后續通過str2來修改這些內容會引起"段錯誤"。你代碼的另一個問題是,在你給str2第二次賦值后就丟掉了前一次分配的指針,導致無法回收那段內存,引起內存泄漏。
2015-09-02
最贊回答 / GentleRunn_0
請注意32是“地址”總線的寬度,即可以尋址的地址個數是2的32次方個,而計算機中以字節位單位存儲和解釋信息,每個地址(即每個門牌號)指示的空間是一個字節B(即每個門牌號指示的房間大小是一個字節B),那么就是2的32次方個B的房間
2015-08-26