如何读取变量*(int *)x?

时间:2012-05-28 07:48:09

标签: c

我从一个解释排序的网站得到了这个。但我无法理解*(int*)x。如何在C程序中这样使用时读取变量x?它指向x的指针还是不同?任何帮助表示赞赏。谢谢!

4 个答案:

答案 0 :(得分:3)

如果你将它拆开,你可以到达那里,首先:

(int*)x

这会将x转换为int*,指向int的指针。我假设在这种情况下,xint,因此x中的数字被解释为指针。

下一步:

*(int*)x

*取消引用指针,在这种情况下是刚刚铸造的int。结果是int

简而言之:将int解释为指针并获取它指向的值。

答案 1 :(得分:0)

首先将x转换为整数指针,然后取消引用它。

答案 2 :(得分:0)

您可以像这样考虑C中的*

  • 类型(例如int)表示指针
  • 包含值(例如x),表示解除引用

所以:

  • (int*)x是指向int
  • 的指针
  • *y是来自y
  • 指向的内存地址的值

答案 3 :(得分:0)

与其他解释相同的答案。 试着解释一下 - int * ptr =(int *)x; int y = * ptr;