sách gpt4 ai đã đi

Tại sao &array != &array[0]?

In lại 作者:行者123 更新时间:2023-12-03 18:23:14 31 4
mua khóa gpt4 Nike

在 C 中:

int a[10];
printf("%p\n", a);
printf("%p\n", &a[0]);

产量:
0x7fff5606c600
0x7fff5606c600

这是我所期望的。现在,在 D 中,我正在尝试这个(显然没有用例,只是在鬼混):
int[] slice = [...];
writeln(&slice);
writeln(&slice[0]);

产量:
7FFF51600360
10E6E9FE0

为什么会有差异?看起来完全不同的内存段。 (虽然我突然想到 D 中的数组可能不只是相邻分配的整数?)

1 Câu trả lời

在 D 中,数组本质上是一个带有指针和长度字段的结构,并被视为这样

要获取第一个元素的地址,您可以查询 ptr 字段

关于arrays - 为什么是 &array != &array[0]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594779/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com