此问题已在此处有答案:
With arrays, why is it the case that a[5] == 5[a]?(20个回答)
2小时前关闭
这是一个C代码。函数的目的是添加使用数据指针'*data'定义的数据
int chksum(int *data) {
char j;
int summation = 0;
for (j = 0; j < 64; j++) {
summation += data[j]
}
return summation;
}
但是我不能理解指针'*data'给出的数据是如何使用**summation += data[j]**添加的。
我的理解是,代码应该是这样的:
int chksum(int *data) {
char j;
int summation = 0;
for (j = 0; j < 64; j++) {
summation += *(data++)
}
return summation;
}
1条答案
按热度按时间enxuqcxy1#
我们可以使用
*(data++)
。但你肯定会看到这和
*(data+j)
是一样的。由于
data[j]
在定义上等价于*(data+j)
,我们也可以使用data[j]
。