C 在函数调用中,符号AND是什么意思?
我是C语言编程新手,我在看一些代码。我想知道以下是什么意思:C 在函数调用中,符号AND是什么意思?,c,parameter-passing,ampersand,C,Parameter Passing,Ampersand,我是C语言编程新手,我在看一些代码。我想知道以下是什么意思: adjust(&total, adjustmentFactor); 我知道total和adjustmentFactor都是双倍的,但是由于该函数确实将输出分配给变量,我假设该函数将total points更改为什么?如果它就是这样做的,那么如果要实现adjust,您将如何更改它?您可以通过两种方式将参数传递给函数: 按价值 整数合计 调整(总数) 在这种情况下,将创建传递值的本地副本。如果以不影响父函数“total”值的方式
adjust(&total, adjustmentFactor);
我知道
total
和adjustmentFactor
都是双倍的,但是由于该函数确实将输出分配给变量,我假设该函数将total points更改为什么?如果它就是这样做的,那么如果要实现adjust,您将如何更改它?您可以通过两种方式将参数传递给函数:
是的,你是对的:与符号取左值(变量)的地址,并将其作为指针传递 您的
adjust()
函数如下所示:
void adjust(double *a, double f) {
... do a lot of stuff
*a = *a * f/2+1.0; // dummy formula that will change the content
...
};
因此,在函数中,每次要使用第一个参数指向的值时,以及每次要为原始变量指定新值时,都要使用
*a
这是一个很好的开始:阅读这篇文章是否回答了你的问题?这回答了你的问题吗?我注意到C是通过值传递的,但是这个值可能是一个要传递到指针的地址,而不是像C++这样的语言,它实际上有一个特定的通过引用的概念。