如题,
用函数处理整型数组,但只能传递数组头指针.
然而通过头指针我没办法获取数组长度啊,
sizeof(list) / sizeof(list[0]); //结果永远是1
这样怎么才能遍历数组?
如题,
用函数处理整型数组,但只能传递数组头指针.
然而通过头指针我没办法获取数组长度啊,
sizeof(list) / sizeof(list[0]); //结果永远是1
这样怎么才能遍历数组?
如果你传入的是指针而不是数组类型
你应该多加一个变量,同时传入长度
否则鬼知道数组到底多长
而且数组类型是不可变长度的,所以一般定义的时候都会稍大,没有那么正好的,里面大概率并不是所有的元素都存放着数据
所以不管你传一个数组类型进来还是一个数组指针,其实都应该再传一个int
告诉函数到底有多少数据需要处理
-=-=-=
举个例子
你要写个函数,找到数组里面的最小值
正常最小值比方说是5吧
可是你数组长度是100,其中只有前10个有数据,后面都是0
那你无脑遍历整个数组,就会认为最小的数据是0
-=-=-=-
所以说,遍历数组就是个伪问题,数组就不应该遍历,就必须传入一个数来限制循环次数,而不是从头循环到尾