如何将以下内容转换为 VB?这是什么意思?
unsigned char *s = (unsigned char *)(void *)serialNum;
最佳答案
根据我对 VB 的了解,我不确定是否有翻译。
看起来代码的目的是获取一个整数值 (serialNum
) 并将其用作字节序列 (s
)。
unsigned char *s
声明 s
为指向 unsigned char
的指针; s
中存储的值是单个字节或序列的第一个字节的地址。
(unsigned char *)
和 (void *)
是强制转换操作;它们用于将表达式的类型转换为不同的类型。 C 的类型规则是不能直接将整数值赋给指针变量;必须使用强制转换操作将整数值转换为指针类型。 (void *)serialNum
将表达式 serialNum
的类型从 int
(或其他)转换为 void *
,这是 C 的“通用”指针的想法。 (unsigned char *)
将前一个表达式的结果转换为指向 unsigned char
的指针。
(void *)
转换操作在我看来是多余的,下面的操作应该同样有效:
unsigned char *s = (unsigned char *) serialNum;
同样,我不知道 VB 中合适的翻译是什么。
关于c - 如何将c代码转换为vb.net?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667924/