C++指针操作数组问题?

本人初学C++,学到指针时,通过指针来实现冒泡排序算法。

算法如下:

/**
*冒泡排序
*/
void BubbleSort(int* arr, int length)
{
	int temp = 0;
	for (int i = 0; i < length - 1; i++)
	{
		for (int j = 0; j < length - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				temp = arr[j + 1];
				arr[j + 1] = arr[j];
				arr[j] = temp;
			}
		}
	}
}

函数的arr参数传入的是数组地址。如果要操控数组的值,通过*arr来实现,为什么算法中直接就使用了arr[]的方法就操作了。这儿有点儿疑惑,希望大佬能够解答一下,谢谢!

两种都可以的。可以用指针方法*(arr+i),也可以用数组下标访问arr[i]