C语言里,为什么函数里不能使用数组?只能使用指针呢?什么情况下使用数组和指针?开发中必须用么?
函数里不能使用数组?不可能啊,看下面的例子:
int getmax(int[] nums, int n)
{
int max = nums[0];
for (int i = 1; i < n; i ++)
{
if (nums[i] > max) max = nums[i];
}
return max;
}
对于指针是C/C++用的多。数组和指针是开发中必须的,数组是不能作为函数的参数的,把数组名传递给函数,其本质是指针的复制,是一种特殊的值传递。
我们也是通过这个复制的指针,间接地对数组进行操作。什么时候用数组,什么时候用指针,这个随便翻一本数据结构的书就知道了
并不是说函数中不能用数组,而是函数传参时,传的参数就算是个数组,其实传递到函数也就是指针(指向数组首地址)