形参数组长度
来源:百度文库 编辑:神马文学网 时间: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;}