作业帮 > 综合 > 作业

C语言中FUN函数中的&是什么意思

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 16:06:28
C语言中FUN函数中的&是什么意思
fun函数中的&,你说的是变量传递的时候的&么,还是指定义函数原型的时候的&
再问: 有时有&有时没有&为什么呢
再答: 那个不是因为fun函数才有&的,其实每一个自定义的函数或者说库函数都可能有&运算符的。 这里面牵扯到一个变量传递的问题。首先举个例子:int addself(int a,int b)为一个自定义的加法函数。如果在主函数中调用时候写作c=addself(d,e)就是将变量d,e的副本传递给函数addself,意思就是说在自定义的函数addself内部其实是不会直接对主函数中的变量d,e操作的,它操作的只是d,e的副本,虽然在addself函数中两个变量还是叫做d,e但是他们是存储在函数addself的数据段的变量,而不是主函数的变量d,e。所以当c=addself(d,e)把函数的返回值复制给c的时候,函数addself的运行时间就结束了,此时d,e的副本的生命就结束了(也就是在addself数据段存储的d,e),此时你可以验证一下主函数的d,e变量的值是没有改变的。 假如在调用函数的时候c=addself(&d,&e)传递的就是d,e的存储的地址,就相当于直接传递的d,e变量。这时候在函数addself中对d,e的任何操作都会直接影响到他们的值。即使addself寿命结束的时候,d,e的值还是改变了的