形参数组长度

来源:百度文库 编辑:神马文学网 时间:2024/04/26 16:35:50
当数组作为形参传入到函数中时,数组已经被转换成了指针,这时候对数组长度取长度是无效的;例如:int fun(int array[]){         int size = sizeof(array)/sizeof(array[0]);//无效         return 0;}最简单的一个办法,就是传入第二个参数值数组长度,int fun(int array[],int length);也可以使用C++的模板、或者例如:int fun(int array[]){         int *p = array;//array此时应相当于一个字符串,以'\0'结尾;若array是数组,不能确定数组的最后一个元素的具体值,应该不能使用该方法         int length = 0;         while(p != '\0'){               length++;               p++;      }         return 0;}