在一段程序中,我们定义一个数组在主函数中,然后我们输出他所占的字节数,使用sizeof(数组名)
得到数组所占字节数,例如int类型的数组,里面有多少个元素,所占的字节数就是(元素个数*4)。而我们再定义一个函数,该函数的参数也是一个int类型的数组,这时我们将刚刚定义的数组放入这个函数中,作为该函数的参数,我们再输出该函数的sizeof(arr),我们会得到不同的结果,我们很大概率可能输出的值是8,而且无论如何改变数组中的元素,它依旧输出的是8。
为什么会出现这样的情况呢?因为在函数中输出数组的sizeof是输出的数组首地址,而地址的大小为8,所以我们输出的sizeof是8。