跳转至

数组与指针

C++中的一维数组名可以看作指向首个元素的指针,即 a = &a[0]

若指针 p 指向数组 a 中某个元素,则 p+1 指向它的下一个元素,p+i指向它后面第 i 个元素,p-i 指向它前面第 i 个元素。

因此,如果 p 指向 a[0] , 有 p + i = &a[i]*(p + i) = a[i] = *(a + i)

// 这两个写法是等价的,通常在客观题当中有这些奇怪的写法

for (int i = 0; i < n; i++) cout << a[i] << ' ';

for (int i = 0; i < n; i++) cout << *(a + i) << ' ';