C:链表混淆

时间:2010-10-03 14:49:03

标签: c pointers struct

错误:解除指向不完整类型的指针
问题行是“gl-> point [0] =(struct list *)& foo;”
我读到某处我可以存储声明。如果是这种情况,我需要向我解释。

struct ref {  
    char **name;
    struct list **point;
};

int main ( ) {   
    typedef struct {
        char **name;
        struct list **point;
    } temp;  

    struct ref *gl;  

    gl->name = malloc ( 1024 * sizeof(char *) );  
    gl->name[0] = "A";  

    temp foo;  
    foo.name = malloc ( 1024 * sizeof(char *) );  
    foo.name[0] = "B";  

    gl->point[0] = (struct list *)&foo;   

    printf ( "!%s!\n" , gl->point[0]->name[0] );  
}

2 个答案:

答案 0 :(得分:1)

什么是struct list?没有名为struct list的类型(至少在您所显示的内容中)。

也许你的意思是struct ref

答案 1 :(得分:0)

在代码示例中没有任何地方定义 struct list ,这就是错误。