和号在函数调用中是什么意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了和号在函数调用中是什么意思?相关的知识,希望对你有一定的参考价值。

我是C语言编程的新手,我在看一些代码。我想知道以下是什么意思:

adjust(&total, adjustmentFactor);

我知道totaladjustmentFactor都为双精度,但是由于该函数确实将输出分配给变量,因此我假设该函数更改了总点数?如果那是它的工作,那么如果要实施调整,您将如何更改它?

答案

您可以通过两种方式将参数传递给函数:

  1. 按值

    int total;

    调整(总计);

    在这种情况下,将创建传递值的本地副本。如果您以某种方式更改它,而不会影响父函数的“总”值。

  2. 参考

    int total;

    adjust(&total);

在这种情况下,将传递'total'变量的地址,现在,如果您以任何方式更改total内部的Adjust(),更改将使用父函数的total变量进行。

我建议您阅读:

Reference and dereference

pointers

另一答案

[是的,您是对的:&符采用左值(变量)的地址,并将其作为指针传递。

您的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,而每个用户都想为原始变量分配一个新值。

以上是关于和号在函数调用中是什么意思?的主要内容,如果未能解决你的问题,请参考以下文章

Halcon中外部函数在VC中是怎么调用的

static在c语言中是啥意思?

为啥在 C++ 中调用原始类型的构造函数是合法的?

主次设备号的应用

vb中 Randomize 啥意思

#yyds干货盘点#js中回调函数