gpt4 book ai didi

c - scanf 使用指向**变量**的指针,而不是**变量本身**

转载 作者:太空宇宙 更新时间:2023-11-04 05:33:09 25 4
gpt4 key购买 nike

我正在阅读关于指针的“GNU C 编程”The GNU C Programming Tutorial

它指出:

However, scanf uses pointers to variables, not variables themselves. For example, the following code reads an integer from the keyboard:

int my_integer;
scanf ("%d", &my_integer);

理解“变量”和“变量本身”是扭曲和困惑的。
您能提供任何提示吗?

最佳答案

这是令人困惑的措辞。或许更清晰的表达方式是 scanf 需要知道将其读取的值放在哪里。给它一个变量的当前值没有任何好处(除非该变量包含您想要放置值的地址)。

int my_integer;
scanf ("%d", &my_integer);

这会将存储my_integer 值的地址传递给scanf。如果没有 &,您将向它传递 my_integer 的值,这将是垃圾,因为变量尚未初始化。

“不是变量本身”这句话令人困惑。也许“不是值本身”会更有帮助,因为有时变量确实包含指向值存储位置的指针。

关于c - scanf 使用指向**变量**的指针,而不是**变量本身**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52901658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com