例如:findmax(p)
int findmax(int *p)
实参和形参都是同一个指针可以吗?
答案:3 悬赏:0
解决时间 2021-02-16 05:43
- 提问者网友:独菊痴梦
- 2021-02-15 19:18
最佳答案
- 二级知识专家网友:為→妳鎖鈊
- 2021-02-15 20:11
可以啊,形参中只是定义一个局部变量,在函数调用的时候就是把实参传递(传值)给形参而已。
所以函数定义中int findmax(int *p) 中的形参p只是一个标号而已,在函数调用findmax(p)时就是把这个p传递给形参的p(传值)。
(*w)[10]指的是先取二级指针w的地址(此时(*w)就变成了一级指针了),然后再进行一个一级指针的操作就是取二级数组的值了。
所以函数定义中int findmax(int *p) 中的形参p只是一个标号而已,在函数调用findmax(p)时就是把这个p传递给形参的p(传值)。
(*w)[10]指的是先取二级指针w的地址(此时(*w)就变成了一级指针了),然后再进行一个一级指针的操作就是取二级数组的值了。
全部回答
- 1楼网友:错过的是遗憾
- 2021-02-15 21:58
可以呀,findmax(p)这里面用到的p是一个变量,是调用函数里的。int findmax(int* p)中p是用于findmax这个函数内部的。
- 2楼网友:闲懒诗人
- 2021-02-15 20:54
形参只是实参的一个副本,即拷贝,它们不能公用存储单元。
如果传入的是指针,那么形参就是实参的一个指针拷贝。此时,形参指针和实参指针指向同一块内存区域,虽如此,但是,不能说它们本身占同一个存储单元。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯