我是 C 编程新手,我试图弄清楚 &
的作用是什么。做(&end)
在这个计时器中,但我无法在任何地方找到足够的答案。
time_t end, current;
time(&end);
end += t;
最佳答案
&
是地址运算符。它是一个一元运算符,返回其操作数在内存中的地址(指向它的指针)。
在本例中,函数time
定义为
time_t time(time_t *t)
如您所见,time
接受指向 time_t
类型变量的指针。这被称为传递引用(严格来说并不准确,因为它实际上只是 c 中的指针,但仍然是一些有用的术语)。它允许直接修改传入的time_t
。基本上,您不是传递 end
,而是说“获取指向 end
的指针并将其传递进去”。因此,通过调用 time(&end);
,time
函数可以设置 end
的值,即使它是作为函数参数传入的.
但我不得不说,一些快速的谷歌搜索肯定会提供完整的解释。有关详细信息,我建议查找 c 与运算符
和 c 地址运算符
,以及按引用传递与按值传递
.
关于c - 在特定 C 程序中使用 '&',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052531/