课程
/后端开发
/C
/C语言入门
replaceMax(arr1,arr2[0]);
repiaceMax(arr1,arr2)
这两个区别谁能具体说一下
2015-07-12
源自:C语言入门 6-4
正在回答
数组名用作右值时,会自动转换成指向数组首元素的指针。
故 arr1 实际上是将 arr1[0] 的地址(&arr1[0])传入函数,而 arr2[0] 就是将arr2数组的第一个元素(就是一个int)传入函数。
而且,声明在函数参数列表中的数组,会被视为指向数组元素类型的指针,也就是说:
void replaceMax(int arr[], int value); // 相当于 void replaceMax(int *arr, int value); // 和你上面的第一个函数相匹配
你下面那个函数声明相当于两个参数都是int指针。
无独有偶yj
onemoo 回复 无独有偶yj
arr2[0]是将arr2数组中第一个数当做参数放入replaxMax中使用。
arr2是将arr2整个数组当做参数放入replaxMax中使用。
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答变量名和标识符的区别
3 回答区别,区别,区别
2 回答整数和字符的区别
1 回答数组名与标识符
5 回答C语言标识符和变量名的区别