我尝试使用 sizeof(array)/sizeof(int)
,但如果我将数组传递给另一个函数,这似乎不起作用。那么有没有其他方法可以知道数组的大小呢?
顺便说一句:我知道 char[]
以 '\0'
结尾;哪个字符结束 int[]
?
最佳答案
在 C 语言中,数组 和指向数据的指针是有区别的。当“将数组传递给函数”时,您实际上传递了一个指向函数的指针。不幸的是,您无法知道一个指针是指向一个元素还是指向一个元素序列,也无法判断该序列由多少个元素组成。
此外,与字符串不同,int 数组不以特定值结尾。
关于c - 如何在不计算长度或将长度作为参数传递的情况下获取函数中的数组大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7599487/