这是一个基本问题,但我遇到阵列大小问题。
这里,我在主要功能和尺寸功能中打印数组大小。在主要功能中,它将正确的数组大小打印为 40 ,但在 size function 中,我已将数组作为参数打印为数组的打印大小为的 8
我尝试过 void size(arr [SIZE]'或'arr []'或'arr [10]),但输出保持不变。
任何人都可以解释为什么会出现这种行为吗?
#include<stdio.h>
#define SIZE 10
void size(int arr[SIZE])
{
printf("func_size() : size of array is : [%d]\n",sizeof(arr));
}
int main()
{
{
int var = 10;
}
{
printf("%d", var);
}
return 0;
}
输出:
func_main():数组的大小为:[40]
func_size():数组的大小为:[4]
答案 0 :(得分:2)