国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++二維數組中數組元素存儲地址的計算疑問講解

2020-01-26 13:32:13
字體:
來源:轉載
供稿:網友

關于二維數組中數組元素的存儲地址,有同學問出了個好問題。

在我的課件中,出現了下面的講解:

a[i][j]的地址是p+(i*col+j)*d(d是數組元素所占的字節數)。

同學編程序進行驗證,出問題了:

地球停止轉動了也必須先贊這種學習方式!

同學問:“老師,第一張圖的4,我怎么覺得不對呢?第二張圖我沒4,結果好像也對,這里面差在哪呢?”

我的答復:“兩個都對。”

第一張圖在講原理,是我們在人腦里面要以“字節”為單位計算,p為首地址,單位是字節,再往后多少個字節,必須考慮到在整型數組中每個數組元素占4個字節,從首地址到a[i][j](i*col+j)個元素,計算其字節地址時,乘4是必要的。

第二張圖是在計算機中的運行結果,是已經在計算機內按找第幾“個”數組元素為單位計算地址值了,*4的操作,是在尋址中已經計算過了,在此直接輸出結果。

更直白地,第一張圖中的“p+”中的加,和我們日常算術中的加一樣,我們按“字節”說事;而第二張圖中的“p+”,是C語言中指針的加運算,是增加一個單元,究竟多少字節,還要考慮指向的元素的數據類型,在32位系統中,對于整型,一個單元4字節,而對于double型,一個單元8字節。

兩個加號形狀一樣,含義是不同。

這個問題,學C/C++的同學才可能會遇到,學習C/C++中主動尋疑驗證的同學才會遇到。可見學C/C++的價值,可見主動尋疑驗證的價值。

想起離散數學中的代數結構,用符號任意地表達運算,研究或設計運算系統,好一個“讓思緒飛揚”和”精彩世界“,一不留神卻成了“枯燥乏味”和“與實踐無關”。

能從不同層面,不同視角看問題,這就是自由。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉门市| 龙陵县| 天镇县| 丽水市| 阿拉尔市| 隆安县| 沙湾县| 皮山县| 砀山县| 北票市| 乌鲁木齐县| 西青区| 江西省| 阿坝县| 长泰县| 宝应县| 海门市| 库车县| 威远县| 隆林| 松溪县| 文安县| 漠河县| 包头市| 隆林| 嵊泗县| 溧水县| 阿拉善盟| 玉溪市| 天台县| 桂林市| 新密市| 阆中市| 玉林市| 车致| 澄江县| 阜阳市| 横山县| 寿宁县| 长汀县| 宜宾县|