0

这是在 C 中给我的:

CDCAInput := PTCDCAInput(@CDCAr);

我只是被告知:结构 TCDCAInput 的指针被函数用来传递事务所需的额外输入字段。它指向的缓冲区将被填充以响应 CDCAResult 结构。

我认为@CDCAr 是 CDCAResult 结构的一个实例。但不能完全确定整行代码的含义。

对于像我这样不懂 C 的人......我不知道如何用 C# 编写它的等价物。

非常感谢任何帮助。谢谢

4

1 回答 1

1

我不懂 C#,所以我不能完全回答这个问题,但可以解释一些可能有帮助的事情......

在 Pascal 和 Delphi 中,将结构化类型(记录和类)命名为以“T”开头是一个常见的约定。另一种约定是命名以“P”开头的指针类型。

使用这些约定,可能有一个名为 的 Record(如 C 结构)类型TCDCAInput,以及一个PTCDCAInput声明为指向 a 的指针的类型TCDCAInput

@是 Pascal 的“地址”运算符,它给出变量的地址。

Pascal 类型转换的语法如下:TypeName(VariableName)

所以总的来说,这条线:

CDCAInput := PTCDCAInput(@CDCAr);

意思是:将CDCAr变量的地址转换为PTCDCAInput类型,并将该值分配给CDCAInput变量。

于 2013-09-27T05:45:01.680 回答