1.函数中的形参如果是数组,那么计算机就直接会把他当成指针来定义,比如
void fun(int a[]);计算机在处理的时候直接就当做void fun(int *a);
2.实参和形参的传递有三种,一是单项的值传递,二是地址传递,三十引用传递。吧数组名当做参数传给函数,实际上传的是地址,也就是地址传递,这样会修改数组里面的值。
3。由于以上原因,我们要是希望把数组名当做参数传递但是不希望修改数组里面的值得时候需要这样声明形参:void fun(const int *a);
楼主应该知道了吧,就算函数是没有返回值的,但是当吧数组名当做参数传递的时候会改变数组里面的值,也就是可以把函数里面的值带出来
不会。只是数组名的话不行,要是加[]的话会返还给改变后的值
不会返回,但是数组名做形参时,实参传递给形参的是自己的地址,也就是说实参和形参共用的是同一个地址,所以只要改变形参里面所包含的值,实参也会跟着改变,其实数组就是指针,跟指针的效果是相同的
数组名可以理解为指针。你调用函数时,函数利用这个指针做了些对数值元素的改变,将会起作用的。
函数总共有3种类型,知道了 就很容易了解了。