问题标签 [address-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
40 浏览

c - 在 C 中,& 运算符在这样使用时会做什么:(x & y)?

标题说明了一切。我知道 &x 给出了 x 的地址,但是我今天遇到了多个像 (x & y) 这样的行示例,但我找不到任何解释。这是一个很难搜索的问题。

0 投票
6 回答
534 浏览

c++ - 在 C(也是 C++)中,'&' 运算符如何同时用作地址运算符和位运算符?由于 C 不支持运算符重载

运算符 '&' 可用于以下两种 int a; scanf("%d",&a); 方式printf("%d",1&2)。但不同的行为(第一次作为地址运算符,第二次作为按位运算符)。我知道 C 中没有运算符重载。那么它是如何工作的?还为 c++ 突出显示。

0 投票
3 回答
109 浏览

c - &(*x) 如何工作?详情如下

如果指针x具有的地址a*x指向a' 的值,编译器无法知道它*x指的是准确的 ,如果我通过a,它只能知道a' 的值*x

但事实证明它知道。那么这是如何工作的呢?编译器是否也传递了地址,或者*当我&&*x它一样x或以其他方式编译时它只是取消了?

0 投票
4 回答
83 浏览

c - 为什么我不能在 C 中打印指针的值?

我有一个简单的问题。我是 C 中指针的新手,我不明白为什么这是有效的,我可以更改指针的值

但这不会打印任何数字

感谢帮助!

0 投票
1 回答
70 浏览

c - f(&a) 可以在 C 中运行吗?

下面的解释让我很困惑:

当参数是指向变量 x 的指针时,我们通常假设 x 将被修改:f(&x);

但是,f 可能只需要检查 x 的值,而不是更改它。

我厌倦了理解,下面的代码无法工作。

代码来自第二个答案

0 投票
4 回答
119 浏览

c - 为什么我们在将变量传递给scanf时需要地址运算符(&符号,&),但在分配给它时不需要?

使用scanf函数时,不能简单地指定变量名。相反,我们必须在变量名称前加上一个 & 符号,例如int a; printf("enter your value"); scanf("%d", &a);.

我检查了在线资源寻找原因。他们中的大多数人会说:

  1. 我们需要修改该变量中的值。我们添加&以表示内存位置,以便可以更改该位置的值。

  2. 函数的参数scanf()具有指针类型:需要给它一个内存地址,以便它可以更改变量的值。

我是编码新手,所以我对此有点困惑。如果我们需要地址来修改内存包含的内容,为什么我们&在分配给变量时不使用,例如int a; a = 5;?在此示例中,我们还修改了该值。为什么我们不这样写:int a; &a = 5;