嘿伙计们,我正在尝试了解指针和数组的一些理论知识。我希望有人能重申我对指针和数组概念的一些怀疑。
假设我有这样的事情
int ia[] = {0,1,2,3,4,5};
ia[2]; // =2
int* ip = &ia[0]; // pointer ip gets the address of element 0 in array ia
ip[2]; // ??
ip[2] = 42; //
大部分代码显然是理论上的,但我对最后两行有点不确定。首先是说 ip[2] 与说 ip 现在指向数组中的第二个元素一样吗?是否相当于说 *ip = ia[2] ?
我也对最后一行感到困惑。ip[2] = 42;所以ip指向的对象的第二个元素,那个地址的值是42?或者这是一种解除引用的数组表示法?我只是对发生的事情有点困惑。