我有以下结构:
typedef struct{
int freq;
char val;
} Char; // alias
我需要创建一个指向一定数量的 Char
的缓冲区(指针),如下所示:
Char* chars = calloc(256, sizeof(Char));
我想将 chars
中的所有 Char
结构的 freq
初始化为 -1
。是否可以不使用循环来完成?
最佳答案
如果您使用 GCC,您可以执行 Char s[256] = {[0 ... 255] = {-1, 0}};
{-1, 0}
是结构体初始化
编辑:您可以看看这篇文章: How to initialize all members of an array to the same value? 它会给出很好的提示:)
关于c - 初始化指向结构体的指针的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807225/