如何在没有 sizeof 的情况下在 C 语言中查找数组的大小

如何在C语言中不使用sizeof来获取数组的大小(又名arr和&arr之间的区别)

嘿,大家好,好久没聊C语言了。一般来说,在C语言中,我们是这样获取数组arr的长度的:

n = sizeof(arr) / sizeof(arr[0]);

在这里,我们获取数组的字节大小,然后将其除以数组单个元素的大小。

要是我告诉你,我们可以不用sizeof,并且有一个更酷的方法来计算数组大小呢?就像这样:

n = (&arr)[1] - arr;

好啦,让我们看看这样做为什么是正确的!

你有没有想过arr和&arr之间有什么区别呢?

扫描二维码关注微信公众号,回复密码,即可获取密码

阅读剩余
THE END