gpt4 book ai didi

c - 变量地址和整数地址之间的区别

转载 作者:太空宇宙 更新时间:2023-11-04 08:31:04 27 4
gpt4 key购买 nike

整数和 & 返回的地址有什么区别?

因此,在将整数赋值给整数指针时,为什么要将整数类型转换为整数指针?

最佳答案

整数和指向整数的指针是不同的类型。

  • 整数变量保存整数值。
  • 指针变量保存地址值。

以你的例子为例:

int value = 5;
int address = &value;
  1. valueint 类型的变量。
  2. &value 返回类型为 int*
  3. 的地址
  4. address = &value 尝试将 int* 分配给 int

虽然整数可以转换为指针并返回,但这并不意味着地址一定是整数值。

就像您可以将 double 分配给 int 一样,您可以将 int * 分配给 int。但这不一定是你想要的,这就是编译器警告它的原因。事实上,除非您的工作非常接近硬件(例如编写驱动程序),否则您不太可能需要在整数和指针之间进行转换。

执行此操作的正确方法,无需任何转换:

int * pointer = &value;

关于c - 变量地址和整数地址之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28338285/

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