本文共 694 字,大约阅读时间需要 2 分钟。
ap是一个指针名,array是一个数组名
1. ap[-1] 负值的下标,下标引用就是间接访问表达式,只要把它转换为那种形式并对它进行求值。ap如果指向第3个元素(就是那个下标值 为2的元素),所以使用偏移量-1就是得到它的前一个元素,也就是array[1]。 2. ap[6] 反这个下标表达式转换为与其对应的间接访问表达式形式,其实就是*(ap+6)。 3. 2[array] 表示*(2+(array))下面是测试代码,帮助理解
#includeusing namespace std;int main(){ int array[10]; for (int i = 0; i < 10; ++i){ array[i] = i; } cout << "array: "; for (int j = 0; j < 10; ++j){ cout << array[j] << " "; } cout << endl; int *ap = &array[3]; cout << "*ap: " << *ap << endl; cout << "ap[-1]: " << ap[-1] << endl; cout << "ap[6]: " << ap[6] << endl; cout << "*ap: " << *ap << endl; cout << "2[array]: " << 2[array] << endl; return 0;}
运行结果: