p 是个数组,p[N] 和 *(p+N) 都是用于读取数组元素的表达式。它们的区别在于:
- p[N] 是带方括号的下标形式。它直接使用数组的名称和下标来读取元素,易于理解和使用。
- *(p+N) 是指针形式。它通过指针来读取元素,可以用于读取任何位置的元素。
例如,假设数组 arr 的元素如下:
int arr[5] = {1, 2, 3, 4, 5};
如果 p 指向 arr 的第一个元素,那么:
- p[2] 将获取 arr 的第三个元素的值,即 3。
- *(p+2) 将获取 arr 的第三个元素的值,即 3。
因此,p[N] 和 *(p+N) 在读取数组元素的结果上是相同的。