※ 引述《gyspy.bbs@bbs.cs.nctu.edu.tw (new born)》之銘言:
> ※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言:
> > 那麼下面這兩行是一樣的意思(事實上無論是幾維都成立):
> > ... = array;
> > ... = &array[0];
> 其實array[0]就代表了位置值了 ^^
不,array[0] 跟 &array[0] 差很多的,
array[0] 的 type 是 int [3],
&array[0] 的 type 是 int (*) [3],
出現 subscript operator 在 array 之後的時候,
並不會發生 array-to-pointer conversion。
array[0] 是取 array 第一個 element 的 rvalue,
而 &array[0] 是取 array 第一個 element 的 lvalue,
這兩者是不可能共通的。
> > 其中你的 array[0] 會是一個內含 3 個 elements 的一維陣列,
> > 所以指向它的 pointer 其 type 就應為 int (*) [3],
> > 道理一樣是從一維的概念推上來的,
> > 只是 type 的寫法你比較不熟悉罷了,
> > 同樣的道理也能推至 N 維陣列上。
--
Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net
School: National Tsing Hua University Department: Computer Science
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Undecided
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮
╚╦═╦╝ ╰ * From:61-230-217-167.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎
[修改]tinlans:61-230-217-167.dynamic.hinet.net 06/10/31 19:12:29