成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

二維數(shù)組的地址分布究竟是什么樣的?

開發(fā) 后端
在數(shù)組專題的文章講解中,講到了二維數(shù)組的地址分布情況,之后也陸續(xù)有錄友與我交流這個問題,這幾天抽空去做一下實驗,發(fā)現(xiàn)在C++中二維數(shù)組的地址空間是連續(xù)的。

[[386826]]

在數(shù)組專題的文章講解中,講到了二維數(shù)組的地址分布情況,之后也陸續(xù)有錄友與我交流這個問題,這幾天抽空去做一下實驗,發(fā)現(xiàn)在C++中二維數(shù)組的地址空間是連續(xù)的。

所以單獨發(fā)文來講一講這個問題。

C++測試代碼如下:

  1. // 測存儲地址 
  2. void test_arr() { 
  3.     int array[2][3] = { 
  4.   {0, 1, 2}, 
  5.   {3, 4, 5} 
  6.     }; 
  7.     cout << &array[0][0] << " " << &array[0][1] << " " << &array[0][2] << endl; 
  8.     cout << &array[1][0] << " " << &array[1][1] << " " << &array[1][2] << endl; 
  9.  
  10. int main() { 
  11.     test_arr(); 

測試地址為

  1. 0x7ffee4065820 0x7ffee4065824 0x7ffee4065828 
  2. 0x7ffee406582c 0x7ffee4065830 0x7ffee4065834 

注意地址為16進(jìn)制,可以看出二維數(shù)組地址是連續(xù)一條線的。

一些錄友可能看不懂內(nèi)存地址,我就簡單介紹一下, 0x7ffee4065820 與 0x7ffee4065824 差了一個4,就是4個字節(jié),因為這是一個int型的數(shù)組,所以兩個相信數(shù)組元素地址差4個字節(jié)。

0x7ffee4065828 與 0x7ffee406582c 也是差了4個字節(jié),在16進(jìn)制里8 + 4 = c,c就是12。

如圖:

可以看出在C++中二維數(shù)組在地址空間上是連續(xù)的。

像Java,Python是沒有指針的,同時也不對程序員暴漏其元素的地址,尋址操作完全交給虛擬機。

所以看不到每個元素的地址情況,這里我以Java為例,也做一個實驗。

  1. public static void test_arr() { 
  2.     int[][] arr = {{1, 2, 3}, {3, 4, 5}, {6, 7, 8}, {9,9,9}}; 
  3.     System.out.println(arr[0]); 
  4.     System.out.println(arr[1]); 
  5.     System.out.println(arr[2]); 
  6.     System.out.println(arr[3]); 

輸出的地址為:

  1. [I@7852e922 
  2. [I@4e25154f 
  3. [I@70dea4e 
  4. [I@5c647e05 

這里的數(shù)值也是16進(jìn)制,這不是真正的地址,而是經(jīng)過處理過后的數(shù)值了,我們也可以看出,二維數(shù)組的每一行頭結(jié)點的地址是沒有規(guī)則的,更談不上連續(xù)。

所以Java的二維數(shù)組可能是如下排列的方式:

總結(jié)

不同編程語言的數(shù)據(jù)結(jié)構(gòu)在地址中的分布方式是不一樣的,C++中我們是可以直接獲取元素的地址,通過實驗,我們也證實了二維數(shù)組的元素確實是相鄰的。

在其他語言中,并沒有指針,也獲取不到每個元素的地址,以Java為例,通過實驗可以推測可能Java里的二維數(shù)組是不相鄰的。

這里算是對之前講解數(shù)組內(nèi)容的一個糾正,也是給大家做一個科普。

大家可以發(fā)現(xiàn)C++賦給程序員足夠的自由,這也是C++的魅力所在。

但有的時候太自由了往往不是好事,編程語言都是各有各的優(yōu)點,也不是哪門語言難,它就一定好!

好了,希望通過本篇大家可以二維數(shù)組的內(nèi)存分布有個初步的認(rèn)識了。

本文轉(zhuǎn)載自微信公眾號「代碼隨想錄」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系代碼隨想錄公眾號。

 

責(zé)任編輯:武曉燕 來源: 代碼隨想錄
相關(guān)推薦

2011-08-04 13:24:28

IT運維

2011-02-16 16:13:40

Debian

2013-03-28 09:27:58

老羅羅永浩錘子ROM

2015-08-26 09:54:19

物聯(lián)網(wǎng)

2012-05-28 22:49:50

PureView

2022-06-13 09:51:35

UWB超寬帶無線載波通信技術(shù)

2019-05-27 15:30:44

Node.jsJavaScript前端

2015-09-29 09:47:14

2018-09-10 13:47:21

數(shù)據(jù)科學(xué)統(tǒng)計學(xué)決策

2020-07-08 08:09:08

邊緣計算邊緣云云平臺

2025-06-25 14:18:36

LAMLAMsGUI

2021-08-09 05:19:08

Provider 前端前端代碼

2010-03-19 17:30:18

云計算

2012-09-17 09:52:20

云計算云存儲公有云

2014-07-28 08:28:38

Windows

2014-08-07 10:32:02

Windows微軟

2009-07-30 14:43:30

認(rèn)識BSM

2022-10-19 12:23:50

緩存CDN外部緩存

2015-06-04 10:26:50

2019-04-26 13:55:02

Istio微服務(wù)架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人欧美一区二区三区在线观看 | www.99热这里只有精品 | 日韩av一区二区在线观看 | 午夜合集 | 日韩一二三区视频 | 成人国产午夜在线观看 | 美女爽到呻吟久久久久 | 黄色欧美 | 欧美精品综合在线 | 欧美视频1区 | 日韩精品一区二区不卡 | 欧美激情一区二区三区 | 久久久国产一区 | 天天舔天天 | 欧美中文字幕一区二区三区亚洲 | 国产91丝袜在线18 | h免费观看| 黄色播放| 日本成人三级电影 | 91色视频在线观看 | 国产小视频精品 | 欧美精品一区二区三区蜜桃视频 | 青青草网 | 久久99国产精品 | 久久久久久久久久久久久久久久久久久久 | 人和拘一级毛片c | 一级久久久久久 | 欧美成视频在线观看 | 91精品综合久久久久久五月天 | 日韩精品亚洲专区在线观看 | 91精品国产综合久久福利软件 | 亚洲一区二区三区视频 | 成人国产精品久久 | 日韩精品免费 | 亚洲精品乱码久久久久久久久久 | 欧美一区视频 | 精品国产一级片 | av在线免费观看不卡 | 中国一级特黄真人毛片 | 精品国产乱码久久久久久闺蜜 | 精品国产欧美在线 |