c - C程序中的typedef结构错误

标签 c struct typedef

感谢您分享您的知识:)! 我刚刚在 devc++ 中编写了这个 c 程序,并且有很多关于typdef和struct的错误 例如:对于带有“->”运算符的每一行,“未定义类型 struct item'”的无效使用,对于第 4 行,“前向声明 struct item'” 这是代码:

#include <stdio.h>
#include <stdlib.h>

typedef struct item* ptr;
typedef struct itme
{
        int data;
        ptr next;
}node;
void add2list(ptr*,int);
void freeList(ptr*);
int main()
{
    ptr H=NULL;
    ptr p3=H;
    int num;
    while (scanf("%d",&num)!=EOF)
          add2list(&H,num);

    while(p3)
    {
            printf("%d  ",p3->data);
            p3=p3->next;
    }
    printf("end\n");   
    freeList(&H);
    return 0;
}

void add2list(ptr* H, int num)
{
     ptr p1,p2,T;
     T=(ptr)malloc(sizeof(node));
     if(!T)
     {
           printf("cannot allocate memory\n");
           exit(0);
     }
     t->data=num;
     p1=*H;
     while(p1)
     {
           if(p1->data==num)
           {
              free(T);
              goto duplicate;
           }   
           else 
           {
                p2=p1;
                p1=p1->next;
           }
     }
     T->next=p1;
     if(p1==*H)
         *H=T; 
     else
     p2->next=T;
     duplicate:;
}   
void freeList(ptr* H)
{
     ptr p1;
     while(H)
     {
         p1=*H;
         (*H)=p1->next;
         free(p1);
     }

}

谢谢!

最佳答案

主要问题是您拼写了“item”“itme”。发生在我们最好的人身上。

关于c - C程序中的typedef结构错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365637/

相关文章:

c - fscanf 每隔一行返回一次

c++ - 使用 NULL 句柄调用 dlsym() 不会返回 NULL,而是返回一个随机函数

c++ - 结构成员初始化

c++ - 如何阻止在 C++ 中从开始销毁循环中创建的对象?

将字符串转换为枚举并传入结构

c - 如何释放只包含指针的结构

c - 如何使用for循环从C中的文件中读取16个字节

c - 使用#ifdef 编译没有某些功能的库是否实用?

c++ - 为什么 const 模板化引用类型不同于 const 引用类型?

c++ - 显式调用 typedef 类类型的析构函数的正式正确方法