c++数组长度 函数传参
#include "stdio.h"
void Count_array_element_ptr(int *p){
printf("%d\n",sizeof(p)/sizeof(p[0]));
return ;
}//函数1
void Count_array_element_array(int array[]){
printf("%d\n",sizeof(array)/sizeof(array[0]));
return ;
}//函数2
int main(int argc, char* argv[])
{
int array[10];
//session 1: 计算出数组的长度
printf("%d\n",sizeof(array)/sizeof(array[0]));
Count_array_element_ptr(array);
Count_array_element_array(array);
return 0;
}
运行结果是10,1,1,为什么第二函数也是输出1啊,不是传递的是数组了么,并不是指针啊,sizeof的参数不是不会退化为指针的么,求解。。。。。