我将一个int
包含 4 个元素的数组传递给一个函数,并sizeof(array)/sizeof(array[0])
说我的元素更少。
这是正在发生的事情的示例:
int
main() {
// declaring literal array
int array[] = {1,2,3,5};
// prints 16/4 (correct output for 4 elements)
printf("%d/%d\n", sizeof(array), sizeof(array[0]));
function(array);
return 0;
}
void
function(int array[]) {
// printing 8/4 instead of 16/4
printf("%d/%d\n", sizeof(array), sizeof(array[0]));
}