采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
查了下资料,现在知道c语言在调用函数时是将实参复制一份,即将实参的副本传到函数调用当中,那么显然实参的副本在函数内部怎么变都不会影响实参本身,根据上面的资料,如果用实参的地址的话,那么实参的地址的副本在函数内部改变会同时改变实参本身,那么就可以实现main()里*p的初始化。
想问的则是最开始InitPointer(p, 10, 5);里面的p不是 *p的地址么,那为什么会报错,,,是除了应该把形参 *ptr改成二级指针 **ptr外,还有哪里错了
最开始错误的版本,传入的书指针本身而不是指针的地址,所以传入之后任凭你修改,对外部的player也没用。
如果你想修改一个外部的东西,请传入他的地址,如果他是个指针,那就传入这个指针的地址。
懂了 是我搞错了,一直以为p也是表示 *p的地址。。
登录后可查看更多问答,登录/注册
如果通向大牛的道路有捷径,那就是先学好C语言
1.6k 3
1.1k 4
1.3k 9
1.6k 1
841 2