《C和指針》第六章書後問題

在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
因爲通常無法預測編譯器會把變量放在內存中什麼地方

在這裏插入圖片描述
因爲它是一個整數,編譯器不會生成對它解引用的指令

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
表達式(a)花的時間更長。因爲(a)中運行時才能將 offset 進行大小調整再加到 p 上,編譯時不知道變量 offset 中的值。而(b)中編譯時已經完成了 3*4 的大小調整,運行時直接執行加上 12 的操作。

在這裏插入圖片描述
有問題,循環體中對指針先進行加1再進行解引用,如果是要執行數組的清零操作那麼第一個元素沒有清零。當然最關鍵的問題是循環體最後對指向數組最後一個元素後一個內存位置的指針進行了解引用,這是不行的,這會把其他某個內存地址的內容清零。參考答案答案中給出了一種情況
在這裏插入圖片描述

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