4-2 char *a 与 char a
两种方式: (1) char *p = "abcdefg";
(2) char a[] = "abcdefg";
a[3]
p[3]
都可以得到正确的字符 'd' ,但是两者的途径并不一样。
对于(1),当使用p[3]
时,首先获得p的地址,假设为A1,取地址为A1的内容A2,然后在加上偏移量 3,最后再取位于[A2+3]地址的数据,也就是'd'。
对于(2),当使用a[3]
时,首先获得a的地址,假设为A1,直接加上偏移量3,取位于[A1+3]地址的数据,也就是'd'。
Last updated
Was this helpful?