正确回答“跳入C ++”第13章,测验3?

时间:2014-02-04 16:17:07

标签: c++

以下哪一项给出了指针p_a所指向的变量的内存地址?

一个。 P_A;

B中。 * P_A;

℃。 &安培; P_A;

d。地址(p_a);

所以我读这本书叫做#34;跳进C ++"这一个测验在一章之后出现了。当我从书中检查出正确的答案时,它表明正确的答案是 C. &安培; P_A; 即可。不会& p_a只给出指针变量p_a的内存地址而不是它指向的变量的内存地址吗?

现在我说这不是正确的答案,但我无法确定。毕竟我还是初学者,所以我还不敢开始质疑书中的答案。我说正确答案是A.告诉我,答案中有错误或者是什么?

4 个答案:

答案 0 :(得分:4)

除非我完全误解了这个问题,否则你是对的,这本书是错误的。 p_a是一个指针,意味着它是它指向的变量的地址。

答案 1 :(得分:4)

p_a是指向变量的指针。也就是说,它产生该变量的地址

*p_a是变量的值。

&p_a是指针的地址(指针也有内存位置)。

address( p_a )是一些废话。

因此答案是 A ,而且书籍不正确。 刻录

答案 2 :(得分:1)

如果这是问题的确切措辞,那么你是对的:答案是答案。

  • p_a是指针的值,它是指向
  • 的对象的地址
  • *p_a取消引用指针,将指向的对象赋予
  • &p_a给出指针的地址,而不是对象
  • address(p_a)调用一个名为address的函数,如果存在,则无法知道该函数可能返回的内容。

(有一个库函数std::addressof(p_a),它提供p_a的地址,就像&p_a一样,即使它是一个改变&含义的邪恶类型但是这里没有关系。)

答案 3 :(得分:0)

指针用于包含其他对象的地址。因此,初始化指针的值是对象的地址。所以正确答案将是标记为A的答案,即p_a。