gpt4 book ai didi

c++ - 数组元素的地址c++

转载 作者:行者123 更新时间:2023-11-27 23:19:10 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Pointer arithmetics in C++ uses sizeof(type) incremention instead of byte incremention?

试图找到答案,但找不到。我有以下 C++ 代码:

struct A {
uint16_t a;
uint16_t b;
uint16_t c;
}

int main() {
uint16_t * B = new uint16_t[5000];
for (int i=0;i<5000;i++)
B[i] = i;

uint16_t * D = &B[500]+sizeof(A);
}

问题是:为什么在这之后*D=512?当我按原样调试 sizeof(A) = 6 时。然而,我将 A 的大小添加到 B[500] 的内存地址,它增加了 12 而不是 6。我正在处理内存地址,但仍然存在乘法,我无法弄清楚为什么会这样。

请指教。

谢谢!

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com