如果这个问题已经被问到了,我很抱歉,但C++数组和指针的问题太多了,我可以全部看完。。
假设我们声明一个像这样的双数组:
double val[3] = {-3.1415, 6.2430, +37};
// Declare and initialize pointer variable:
double * pointer = &val[0];
cout << "Elements of the array are: " << endl;
cout << pointer[0] << " " << pointer[1] << " " << pointer[2] << endl;
让我困惑的是,我如何获得存储在双数组val
中的正确值作为输出,而不必使用解引用运算符*,例如*pointer[0]
。。
pointer
指向一个压缩双精度数组中的第一个双精度。
pointer[1]
以一种荒谬的基本方式意味着*(pointer+1)
,以至于1[pointer]
起作用。(顺便说一句(
如果你有一个数据数组,那么在指向第一个元素的指针上加1,就会得到指向第二个元素的一个指针。