小编Kla*_*uss的帖子

C样式结构声明

我有一个关于C风格结构的快速问题.我正在挖掘一些示例代码,并发现以下列方式声明的结构:

typedef struct _STRUCTNAME
{
   // struct contents
} STRUCTNAME;
Run Code Online (Sandbox Code Playgroud)

请注意STRUCTNAME第二次出现时缺少下划线.我的理解是,这将声明一个名为STRUCTNAME的_STRUCTNAME,并且不能再实例化此结构的对象.

但是,情况似乎并非如此.除了在一个地方之外,这种类型的结构从未在代码中实际实例化:在随机位置使用的此类对象的全局数组中:

const struct STRUCTNAME ARRAYNAME[] = 
{
   // various STRUCTNAMEs declared here
};
Run Code Online (Sandbox Code Playgroud)

注意再次缺少下划线(我认为是实例化对象的名称?)

我的理解完全没了?

有人能解释一下吗

c struct

8
推荐指数
2
解决办法
6858
查看次数

标签 统计

c ×1

struct ×1