C 指针结构 - 缓冲区指向另一个结构.如何在 C# 中
本文关键字:结构 另一个 指针 缓冲区 | 更新日期: 2023-09-27 18:33:04
这是在C中给我的:
CDCAInput := PTCDCAInput(@CDCAr);
我只被告知:函数使用结构 TCDCAInput 的指针来传递事务所需的其他输入字段。它指向的缓冲区将使用 CDCAResult 结构进行填充。
我认为@CDCAr是CDCAResult结构的一个实例。 但不完全确定整行代码的含义。
对于像我这样不懂C的人...我不知道如何在 C# 中编写它的等效项。
任何帮助将不胜感激。谢谢
我不懂 C#,所以我不能完全回答这个问题,但可以解释一些可能有帮助的事情......
在 Pascal 和 Delphi 中,以"T"开头命名结构化类型(记录和类)是一种常见的约定。另一种约定是命名以"P"开头的指针类型。
使用这些约定,可能有一个名为 TCDCAInput
的 Record(如 C 结构)类型,以及一个名为 PTCDCAInput
的类型声明为指向TCDCAInput
的指针。
@
是帕斯卡的"地址"运算符,它给出了变量的地址。
Pascal 类型转换的语法如下: TypeName(VariableName)
所以总的来说,这条线:
CDCAInput := PTCDCAInput(@CDCAr);
means:将CDCAr
变量的地址强制转换为PTCDCAInput
类型,并将该值分配给CDCAInput
变量。