将C Struct转换为Swift Struct

时间:2016-09-29 18:31:43

标签: swift struct

我在C程序中有以下结构我试图转换为Swift:

struct record 
    {   int r;
        int c;
        int val;
        struct record *next;
    };

Swift不允许在结构内部指定(引用)指针。 C代码的工作方式允许每个记录包含指向下一条记录的指针,以便轻松迭代记录。

有没有办法强制使用UnsafeMutablePointer或其他东西?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

  

Swift不允许指针(引用)本身的结构。

没错。但是,它允许引用可选的class

class record {
    var r : Int = 0
    var c : Int = 0
    var val : Int = 0
    var next : record? = nil
};

这就是您所需要的:由于{C}允许next指针为NULL,因此您应该可以在Swift中将其设置为nil