1樓:匿名使用者
這兩個記憶體地址存放的應該是int型的變數吧,int佔4個位元組,70=7*16個位元組,那麼中間一共有7*16/4個int型的變數,也就是7*4=28,相差28個int單位。
兩個記憶體地址要相減,必須是在同一個陣列裡面。例如你所說的這個問題,可能是一個int a[30]的陣列,那麼&a[29] - &a[1],結果就是28。再比如,
int *p = &a[0];
int b = *(p + 28); // b的值就是a[28]直接用記憶體地址相加減,通常用來計算記憶體的偏移量。
2樓:
00681f08(16)-00681e98(16)=70(16)這沒錯,而70(16)=112(10)。你的28是怎麼得到的?只有一種可能,那就是你計算的是兩個4位元組元素的指標的差而不是地址差,即112/4=28。
關於指標的差計算一定要注意,兩指標相減等到的是元素個數而不一定是地址差,只有單位元組元素的指標相減二者才是一致的。
在c++語言中,二維陣列在記憶體中的存放順序是
3樓:倒黴熊
二維陣列在c++中儲存,一般是按行儲存的,就是將一行當作一維陣列進行儲存。
例如:a[2][2]這個二維陣列,其在記憶體中儲存順序為:
a[0][0] a[0][1] //先儲存第一行a[1][0] a[1][1] //再儲存第二行。
假設是32位系統,整型佔4個位元組,則其在記憶體的形式為:
a[0][0]
a[0][1]
a[1][0]
a[1][1]
4樓:秋風枝頭
二維陣列的元素在記憶體中是依次存放的,也就是說記憶體地址是連續的
例如 int array[2][2]=,};
記憶體中依次存放著:1 2 3 4.
c語言分配超大的記憶體地址,c語言 分配一個超大的記憶體地址
可能是我沒太看懂樓主的意思啊 個人還是覺得樓主可能是沒搞懂malloc的用法malloc可以申請到記憶體中可以申請的最大大小 一個int不算啥樓主是想做什麼呢?如果要給其他型別的引數分配空間就要 type a type malloc sizeof type 比如double double a dou...
如何獲取PHP變數的記憶體地址,怎麼輸出一個變數的記憶體地址
樓上說的對,沒必要搞這麼深,而且脫離了你的主題就更沒意思了。arraycopy是 arr的copy,兩者沒有關係,如果你希望那樣的話可以用 arraycopy arr,此時 arraycopy是 arr的引用,也就是說修改這個時那個也變了。php中的物件例項是引用方式傳遞的,其他一般都是傳值,除非加...
兩個serversocket之間的通訊怎麼做啊跪求就是
已經有現成的工具可以實現了啊。多維互聯inp協議,就是跨網端對端通訊的。socket能不能實現兩個區域網之前的通訊 只要兩個區域網是通的,你的android程式就可以訪問兩個區域網內的所有埠!可以的!豌豆莢的wifi傳檔案就是這個原理 謝謝指點,我先研究一下 我不是高手,我也很想知道 socket實...