[問題] 三維陣列?

作者: nsysukober (安安)   2014-11-21 19:46:20
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
問題(Question):
想問的問題是以下
int a[5][10][15];
printf("%d\n", &a[2] - &a[0]);
printf("%d\n", a[2] - a[0]);
第一個 printf 是 2 第二個是 20
我知道如果只有a[2]是指"值",但目前是只有宣告但沒有給值,那會? 是代表什麼意思?
如果加了 &a[2] 意思是他的位址吧? 但想很久還是沒辦法推出是怎麼出現這兩個答案的
對於三維陣列非常的不了解
謝謝哦:)
作者: CaptainH (Cannon)   2014-11-21 20:27:00
如果是二維,你知道原因嗎
作者: fireslayer (fireslayer)   2014-11-21 20:27:00
沒給值裡面都是亂值 相減=20是剛好
作者: CaptainH (Cannon)   2014-11-21 20:29:00
先了解陣列decay和指標相減的意思,就會發現這很簡單
作者: fireslayer (fireslayer)   2014-11-21 20:33:00
抱歉看錯&a[2]-&a[0]=2 是說位置差兩格a[2]-a[0]=20是說位置差20格 兩個型態不同所以計算出來格子大小也不同所以差幾格也不同
作者: s25g5d4 (function(){})()   2014-11-23 01:01:00
這不是期中考題嗎 w

Links booklink

Contact Us: admin [ a t ] ucptt.com