【发布时间】:2021-06-10 06:15:26
【问题描述】:
#include <stdio.h>
void fun(int arr[])
unsigned int n = sizeof(arr)/sizeof(arr[0]);
printf("\nArray size inside fun() is %d", n);
}
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
unsigned int n = sizeof(arr)/sizeof(arr[0]);
printf("Array size inside main() is %d", n);
fun(arr);
return 0;
}
为什么人们要写 n=size of array/ size of arr[0] ?还有为什么 n 的值不同?在 main 和 inside 函数里面?
【问题讨论】:
-
main
arr里面是一个数组;函数arr内部是一个指针。您可能会喜欢comp.lang.c faq 的第 6 部分。