回复 楼主 南国雨
有两点:
1、int i; i没初始化,它的值是个随机值,并不是地址。
2、函数的参数,给它传参时,实际上是在函数中新定义了一个变量,只不过是把传进去的变量的值赋给它。
比如:void fun(int num),int i=3,调用时fun(i),实际上是在函数fun里定义int num,然后num=i;
在函数里对num进行的任何操作都不会
影响到i。这就是形参跟实参的关系了,你可以自己再了解下。
如果你要用函数对i进行赋值,那就得传地址进去,fun(int *num); fun(&i);这样子。也可以用引用的方法(引用的说简单点就是重命名),
fun(int &num); fun(i);
这样子,num就相当于i了,两个使用的是同一个内存地址。
回答得还算详细吧^^