gpt4 book ai didi

c++ - 试图理解 C++ 中的 * 和 &

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:35:21 24 4
gpt4 key购买 nike

<分区>

我有几个问题。这不是家庭作业。我只是想更好地理解。

如果我有

int * b = &k;

  1. 那么k必须是一个整数,b是指向k在内存中的位置的指针,对吗?

  2. b 的底层“数据类型”是什么?当我输出它时,它返回类似 0x22fe4c 的东西,我假设它是内存位置 2293324 的十六进制,对吗?

  3. 内存位置“2293324”到底在哪里? “堆”?如何输出内存位置 012 等位置的值?

  4. 如果我输出*b,这与直接输出k是一样的,因为*不知何故意味着指向的值通过 b。但这似乎与 b 的声明不同,后者被声明为 int * b = k,因此如果 * 表示“值”,则不这不是说“将 b 声明为 k 的值吗?我知道这不是,但我仍然想准确理解这在语言方面意味着什么。

  5. 如果我输出&b,其实返回的是指针本身的地址,与k无关,对吧?

  6. 我也可以做 int & a = k;,这看起来和做 int a = k; 是一样的。这样使用&一般是不需要的吗?

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