cmu15213 L8 Machine‐Level Programming IV: Data

Arrays
One‐dimensional



这里有一个例子,比如现在有 char *p,当执行 p++ 时,等价于执行 p+=1,而对于 int *ip,执行 ip++ 则等价于执行 ip+=4 。





[] 的优先级比 * 高
可认为 A2 是指针数组(指针的数组,数组的每个元素是指针)
A3 是数组指针(数组的指针,A3 本身是一个指针,这个指针指向一个数组)
Multi‐dimensional (nested)






Multi‐level

univ 本质是一个数组,这个数组有三个元素,每个元素是一个指针。


这个地方很有意思,nested array 相当于通常的二维数组,multi-level array 则比较特殊。他们两者的地址计算方法是不同的。







这个图很棒。

Structures
Allocation

Access



Alignment










Floating Point







浙公网安备 33010602011771号