1.数组和数组变量之间,不能赋值
例:int nums[5] = {1,2,3,4,5};
int nums2[5] = nums; //报错的
2.数组名声明后也不能赋值
int nums[5];
nums = {1,2,3,4,5};
为什么会这样?
因为数组名是一个地址常量
不能通过数组名直接赋值
数组作为函数的参数:
1.定义语法:
返回值类型 函数名(类型 数组名[]){
函数体;
}
注意:参数里数组名中括号的长度,可写可不写,写了也没用,规范的写法是不写
引用传递:
传递的是地址,就好比是把内存共享了一份给函数
特点:在函数内改变了形参的值,那么外面的实参也会发生变化
所以数组作为函数的参数是引用传递
有一个函数专门用来帮我们遍历数组的
那么此时,如果在函数内计算这个数组的长度,永远都会等于2,并不是真实的长度
那么我们想遍历这个数组怎么办?没有拿到长度就不好遍历
解决方法:
如果以后要用数组作为函数的参数,那么必须再加一个参数,用来传入数组的长度
总 结:
数组作为函数的参数,形参不需要写长度
必须再加一个参数,让调用者传入数组的长度
数组作为函数的参数,不区分,但是区分类型