我正在尝试理解以下代码

uchar  abyHeader[100];
i32 = psSHP->nFileSize / 2;
ByteCopy(&i32, abyHeader + 24, 4);


哪里

#define ByteCopy( a, b, c ) memcpy( b, a, c )


我了解memcpy的工作原理。但是,我不确定abyHeader + 24对abyHeader的作用。我知道如果我们有一个uchar*,它将跳过24个元素并指向下一个元素。数组工作相同吗?

最佳答案

abyHeader + 24abyHeader不执行任何操作。参数中的表达式将其结果作为参数传递。数组的工作原理是否相同,因为数组实际上是指向第一个位置的指针。

10-06 01:43