求大神赐教,怎样计算数组的长度

求大神指教,怎样计算数组的长度
就是当输入一个一维数组,当调用一个函数的时候,可以计算出数组的长度
------解决思路----------------------
在该数组的定义处,可以使用sizeof(数组名)获得该数组占用的字节数,除以该数组的数据类型所占的字节数,就可以得知数组的长度,你可以写一个宏来取代下面这行代码:
int array[20];int length = sizeof( array ) / sizeof( array[0] );

将数组传到其它函数内等方式,不可能获得数组长度
sizeof是编译期行为,上述代码的本质是编译器自动把你预设的数组长度复制到该行代码处。程序运行时,没有任何变量用于记录数组长度,因此不可能获得