c - 在特定 C 程序中使用 '&'

标签 c

我是 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/

相关文章:

c - 从 C 矩阵到现代 OpenGL 中的纹理?

c - 在 C 中使用预处理器指令的大型数组

c - 写入二进制文件

c - 读入数组

c - 向二维动态表添加元素

c - 没有人工智能的井字游戏

c - 初始化变量时大小写入无效(Valgrind 和 C)

c++ - 递归函数核心转储

c - 交换变量的两个值

c - gets() 函数从第二次开始被跳过