首页 > 解决方案 > Java中的C指针等价

问题描述

我想知道这段 C 代码的 Java 翻译是什么。

 Person * father = malloc(sizeof(Person));
 Marriage * marriage = malloc(sizeof(Marriage));
 (* marriage).male = father;

我猜我使用参考。因此,我没有将变量的父亲指向 Person 我只是为类 Person 创建一个父亲对象,如下所示:

Person father = new Person();

在这点上我可能是错的。

这条线将如何(* marriage).male = father;工作?

我对 C 很陌生,我只是想更好地了解它是如何工作的。

标签: javacpointersmalloc

解决方案


我们不能在 Java 中使用指针,但是,我们可以将 C 中的代码翻译成 Java:

    Person father = new Person();
    Marriage marriage = new Marriage();
    marriage.male = father;

(* 婚姻).male = 父亲;就像cadaniluk所说的婚姻->男性=父亲一样。此运算符(* 指针)获取指针的值,在这种情况下,它是一个婚姻对象。如果您想更好地了解 C 中的指针,请阅读这篇文章:C 中的指针


推荐阅读