#[Warning] passing argument 1 of 'Change_Form' makes pointer from integer without a cast
目的:将一个数组逆序排列,构建一个函数利用数组形参传递来完成此操作。
然后编译时除了以下警告,以此文章记录此次ERRO!
代码如图:
为啥错呢?
错误出在 Change_Form(a[NUMBERS], b[NUMBERS], NUMBERS);
错误很明显,函数数组形参传递形式为 数组名a ,并不是a[NUMBERS]
自我理解:
1.数组a 代表的是个地址,属于指针,a是一个指针常量
2.a[NUMBERS]是一个整型数值
[]下标运算符 除优先级之外,下标引用和间接访问完全相同
比如:
a[i] 相当于 *( a + (i) ) ,间接访问跟随指针访问它所指向的位置,
此位置存储的是一个 int型的数值
函数参数传递传递需要的是个地址,就此解释了第二个警告!
因此,修改代码为 Change_Form(a, b, NUMBERS);,再次编译运行就OK了!