gpt4 book ai didi

c - 传递给函数时数组的大小

转载 作者:行者123 更新时间:2023-11-30 18:56:01 26 4
gpt4 key购买 nike

谁能解释一下下面程序的输出吗?

   #define SIZE 10
void size(int arr[SIZE],int i[SIZE])
{
printf("size of array is:%d %d\n",sizeof(arr),sizeof(i));
}

int main()
{
int arr[SIZE],i[SIZE];
printf("%d %d\n",sizeof(arr),sizeof(i));
size(arr,i);
return 0;
}

OUTPUT
40 40
8 8

为什么是8 8?请帮忙

最佳答案

因为参数 int arr[SIZE]int i[SIZE] 不是像 main 函数中那样的数组。它们是指针。在 64 位机器上,指针的大小通常为 8。

关于c - 传递给函数时数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25628174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com