c - 如何将结构数组初始化为空?

标签 c arrays pointers struct

    typedef struct 
    {
        char*title;
        int year;
        int length; //in minutes
    } record;

    record list[1024];
    int j;
    for(j=0;j<1024;++j)
        list[j]=NULL;

我正在尝试初始化一个结构数组,并让每个元素最初都指向 null。 gcc 给我一个错误“从类型‘void*’分配给类型‘record’时类型不兼容”。我该如何解决?这样做的目的是当我访问一个元素时,我能够看到它是否有数据或只是空的。

最佳答案

您可以通过这种方式在声明时初始化您的数组:

record list[1024] = {{0}};

关于c - 如何将结构数组初始化为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465908/

相关文章:

c - 如何从 C 中的包含文件中查找缺少结构的原因?

c++ - C 取消引用指向不完整类型的指针时出错

arrays - 如何避免递归中的返回语句

c - 在函数中传递指针的重要性是什么?

c++ - std::list 迭代中项目的指针

c - 代理中的非阻塞套接字和 poll() 怪癖

c - 使用管道在进程之间交换信息

java - 如何在递归中做一次性的事情?

arrays - 按给定索引开始的顺序遍历数组中的所有元素

python - 使用 ctypes 访问变量数组的内容