我有一个struct
,我们称之为它struct foo
,我想添加一个atomic_flag
变量。到目前为止,我一直在calloc
考虑结构,因为它主要需要零初始化。我应该如何初始化atomic_flag
成员?
struct foo{
//...
atomic_flag a_flg;
//...
};
struct foo *foop = calloc(1,sizeof *foop);
if(!foop) return -1;
//should I be giving up `calloc` (/`malloc`+`memset`) in favor of `malloc`+this?
*foop = (struct foo){ ATOMIC_FLAG_INIT };
编辑:
我发现Jens Gustedt的这个相关DR#421建议将零/默认初始化设置为仅适用于s。我怎样才能知道它是否被接受?atomic_flag