为什么12行调用的函数是地址,17行定义的函数是*(表示数值)?
不要一看到*就认为是数值
* 的含义多了
int *p,这里*代表p是一个指针,如果是**就是二级指针,以此类推
int a=*p;这里代表解地址,也就是数值
如果是a*b,星号表示乘法
如果是正则表达式里,*是通配符,表示匹配任意多个前导字符
如果是/* */,这表示中间一段是个多行注释
-=-=-=-=-
回到代码,很显然形参这里是个定义,定义里出现*表示定义了个指针,那么既然形参是指针,实参当然要传入地址,相当于
int a;//这里a相当于实参
int *p=&a;//这里p相当于形参