为什么数组中某一个元素的值可以在函数中被改变,如果是单一变量就不可以?
#include<stdio.h>
void change(int b)
{
b = 5;
}
int main()
{
int a=3;
change(a);
printf("%d\n",a);
return 0;
}这个代码执行出来的结果还是3,change函数里的操作不影响main函数里定义的a的值
#include<stdio.h>
void change(int arr1[])
{
arr1[0]= 3;
}
int main()
{
int arr[]={1,2,3};
change(arr);
printf("%d\n",arr[0]);
return 0;
}但是对于数组来言,在change函数里改变了只是作为形参的arr1的一个元素的值,却影响了在main函数中定义的arr的第一个元素的值。
求解释,谢谢