之所以把数组形参转换为指针是出于效率的考虑,因为如果要拷贝整个数组的话,
无论是时间上还是空间上的开销都可能很大。所以尽管它是形参形式,编译器在
函数内部,始终把它当做一个指向数组第一个元素的指针。
无论是时间上还是空间上的开销都可能很大。所以尽管它是形参形式,编译器在
函数内部,始终把它当做一个指向数组第一个元素的指针。
- void prin(int a[])
- {
- printf("%d",sizeof(a)); //值是4
- }
- int main(void)
- {
- int a[] = {1,2,3};
- printf("%d/n",sizeof(a)); //值是12
- prin(a);
- return 0;
- }