C结构语法

克罗克

C标头示例。

typedef LPVOID UKWD_USB_DEVICE;

typedef struct _UKWD_USB_DEVICE_INFO {
    DWORD dwCount;
    unsigned char Bus;
    unsigned char Address;
    unsigned long SessionId;
    USB_DEVICE_DESCRIPTOR Descriptor;
} UKWD_USB_DEVICE_INFO, *PUKWD_USB_DEVICE_INFO, * LPUKWD_USB_DEVICE_INFO;

我的理解

struct定义结构({}之间的部分)。结构的类型为_UKWD_USB_DEVICE_INFO在关闭之后} UKWD_USB_DEVICE_INFO此结构的别名

问题

此后声明的目的是什么。* PUKD_USB_DEVICE_INFO*LPUKWD_USB_DEVICE_INFO如果一个指针触摸变量而另一个触摸*字母和字母之间有空格,这些指针别名是否会有所不同

前子

Ctypedef声明通过类比变量声明来理解。

int a, *b;

声明atypeintbtype的值int*

typedef int A, *B;

声明A等于的类型intB等于的类型int*因此,请考虑一下如果这是一个变量声明,那么变量类型将是什么。

因此,是,PUKWD_USB_DEVICE_INFO等同于struct _UKWD_USB_DEVICE_INFO*

编辑

同样,空间也没有关系。C是一种空白语言。多余的别名不是必需的,它们恰好适合各种项目和API的约定,这些约定喜欢通过包含P或其他子字符串的名称来调用指针类型有时,随着时间的推移,这些项目最终会采用多种约定,因此会有多种别名。当更新API或在不同平台之间时,出于兼容性原因,也可能需要它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

结构语法[c]

来自分类Dev

Objective C结构语法

来自分类Dev

只有typedef的c ++结构语法的含义

来自分类Dev

C语言中结构的不同语法

来自分类Dev

C中的对象-结构语法相关

来自分类Dev

C 结构函数语法 - 传递元素,返回结构

来自分类Dev

C结构声明中的SWIG语法错误

来自分类Dev

使用结构的语法错误C2061

来自分类Dev

C ++-使用与结构相同的语法在结构周围构造包装器类

来自分类Dev

在结构中分配给结构的语法

来自分类Dev

请帮助我了解C语言中不熟悉的结构语法

来自分类Dev

错误C2059:语法错误:结构成员声明中的“常量”

来自分类Dev

当C ++类函数参数语法之一是结构时,它有什么不同?

来自分类Dev

在结构内部使用c ++样式字符串时,cin >>的正确语法是什么?

来自分类Dev

返回C ++ 17可变参数模板“构造推论指南”的可变参数聚合(结构)和语法

来自分类Dev

访问结构变量的正确语法是什么?

来自分类Dev

spl_autoload_register()语法/结构名称

来自分类Dev

语法混淆与创建新的结构类型

来自分类Dev

PHP If Else控制结构的其他语法

来自分类Dev

Scala匹配语法:什么是块状结构

来自分类Dev

ASN1结构准入语法

来自分类Dev

打字稿导出语法和代码结构

来自分类Dev

ASN1结构采购语法

来自分类Dev

遵循 JSON 结构所需的查询 AQL 语法

来自分类Dev

将结构初始化语法用于堆上结构

来自分类Dev

在C ++中的结构内结构

来自分类Dev

结构中的C访问结构

来自分类Dev

C:在结构内访问结构

来自分类Dev

结构对齐C / C ++