如何在C中通过函数传递指针?[重复]

bakd9h0s  于 2023-04-11  发布在  其他
关注(0)|答案(1)|浏览(89)

此问题已在此处有答案

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;
}
enxuqcxy

enxuqcxy1#

我们可以使用*(data++)
但你肯定会看到这和*(data+j)是一样的。
由于data[j]在定义上等价于*(data+j),我们也可以使用data[j]

相关问题