gpt4 book ai didi

c - 在不使用 sizeof 的情况下查找数组的大小

转载 作者:太空狗 更新时间:2023-10-29 16:31:42 25 4
gpt4 key购买 nike

我正在寻找一种无需使用 sizeof 即可在 C 中查找数组大小的方法,我找到了以下代码:

int main ()
{
int arr[100];
printf ("%d\n", (&arr)[1] - arr);
return 0;
}

任何人都可以向我解释一下它是如何工作的吗?

最佳答案

&arr 是指向 100 个 int 数组的指针。

[1] 的意思是“添加指向的东西的大小”,这是一个 100 个 int 的数组。

所以 (&arr)[1]arr 之间的差异是 100 int

(请注意,此技巧仅适用于 sizeof 无论如何都会起作用的地方。)

关于c - 在不使用 sizeof 的情况下查找数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16019009/

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