课程
/后端开发
/C
/C语言入门
为什么在数组做参数那一节中的题目里
replaceMax(arr1, arr2[0] ); //将数组arr1和数组arr2的第一个元素传入函数中
第一个arr1不用加[0]呢?
2015-06-27
源自:C语言入门
正在回答
准确地说:数组用作右值时,会自动转换成指向数组首元素的指针。
故 arr1 实际上是将 arr1[0] 的地址(&arr1[0])传入函数,而 arr2[0] 就是将arr2数组的第一个元素(就是一个int)传入函数。
而且,声明在函数参数列表中的数组,会被视为指向数组元素类型的指针,也就是说:
void replaceMax(int arr[], int value); // 相当于 void replaceMax(int *arr, int value); // 和你上面调用函数时传入参数类型相匹配
weibo_骁骁一直记得身边有你_0 提问者
传参时,默认为数组的第一个元素, arr1=arr1[0]
赤坂龙之介 回复 weibo_骁骁一直记得身边有你_0 提问者
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答这是为什么
1 回答这是为什么?
2 回答这是为什么?
4 回答这是为什么
3 回答这是为什么?