繁体   English   中英

C 堆栈上的空结构指针

[英]C Empty Struct Pointer on Stack

我想初始化一个所有字段为零的结构并立即将其分配给一个指针。 该结构只需要在其生命周期完全包含在调用函数中的静态函数中使用。

这是我目前拥有的线路

move_stats *mv_s = (move_stats *){0};

该结构在头文件中定义为

typedef struct {
  byte open_threes;
  byte open_fours;
  byte half_open_fours;
  bool overline;
  bool five;
} move_stats;

byte是 unsigned char 的别名。 这会按照我想要的方式创建结构吗? 我找不到完全这样的问题,如果它是重复的,请道歉。

您的复合 ;literal 定义了一个空指针而不是结构类型的对象

move_stats *mv_s = (move_stats *){0};

而是写

move_stats *mv_s = &(move_stats){0};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM