關(guān)于二維數(shù)組中數(shù)組元素的存儲(chǔ)地址,有同學(xué)問(wèn)出了個(gè)好問(wèn)題。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括五臺(tái)網(wǎng)站建設(shè)、五臺(tái)網(wǎng)站制作、五臺(tái)網(wǎng)頁(yè)制作以及五臺(tái)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,五臺(tái)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到五臺(tái)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
在我的課件中,出現(xiàn)了下面的講解:
a[i][j]
的地址是p+(i*col+j)*d
(d是數(shù)組元素所占的字節(jié)數(shù))。
同學(xué)編程序進(jìn)行驗(yàn)證,出問(wèn)題了:
地球停止轉(zhuǎn)動(dòng)了也必須先贊這種學(xué)習(xí)方式!
同學(xué)問(wèn):“老師,第一張圖的4,我怎么覺(jué)得不對(duì)呢?第二張圖我沒(méi)4,結(jié)果好像也對(duì),這里面差在哪呢?”
我的答復(fù):“兩個(gè)都對(duì)。”
第一張圖在講原理,是我們?cè)谌四X里面要以“字節(jié)”為單位計(jì)算,p為首地址,單位是字節(jié),再往后多少個(gè)字節(jié),必須考慮到在整型數(shù)組中每個(gè)數(shù)組元素占4個(gè)字節(jié),從首地址到a[i][j]
有(i*col+j)
個(gè)元素,計(jì)算其字節(jié)地址時(shí),乘4是必要的。
第二張圖是在計(jì)算機(jī)中的運(yùn)行結(jié)果,是已經(jīng)在計(jì)算機(jī)內(nèi)按找第幾“個(gè)”數(shù)組元素為單位計(jì)算地址值了,*4的操作,是在尋址中已經(jīng)計(jì)算過(guò)了,在此直接輸出結(jié)果。
更直白地,第一張圖中的“p+”中的加,和我們?nèi)粘K阈g(shù)中的加一樣,我們按“字節(jié)”說(shuō)事;而第二張圖中的“p+”,是C語(yǔ)言中指針的加運(yùn)算,是增加一個(gè)單元,究竟多少字節(jié),還要考慮指向的元素的數(shù)據(jù)類型,在32位系統(tǒng)中,對(duì)于整型,一個(gè)單元4字節(jié),而對(duì)于double型,一個(gè)單元8字節(jié)。
兩個(gè)加號(hào)形狀一樣,含義是不同。
這個(gè)問(wèn)題,學(xué)C/C++的同學(xué)才可能會(huì)遇到,學(xué)習(xí)C/C++中主動(dòng)尋疑驗(yàn)證的同學(xué)才會(huì)遇到??梢?jiàn)學(xué)C/C++的價(jià)值,可見(jiàn)主動(dòng)尋疑驗(yàn)證的價(jià)值。
想起離散數(shù)學(xué)中的代數(shù)結(jié)構(gòu),用符號(hào)任意地表達(dá)運(yùn)算,研究或設(shè)計(jì)運(yùn)算系統(tǒng),好一個(gè)“讓思緒飛揚(yáng)”和”精彩世界“,一不留神卻成了“枯燥乏味”和“與實(shí)踐無(wú)關(guān)”。
能從不同層面,不同視角看問(wèn)題,這就是自由。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接