结构体链表定义中途出现问题

结构体定义有问题

  #include<stdio.h>
      #include<stdlib.h>
    typedef struct Node *PtrToNode;
 struct Node {
    int key;
    PtrToNode next;
};
int main{
 PtrToNode tmp,List= NULL;

   int A[5]={123,23,43,546,54};
   for (int i=0; i<5; i++) { 
     tmp = (PtrToNode)malloc(sizeof(struct Node));
     tmp->key = A[i];
     tmp->next = List;
     List = tmp;
 }
 } 
8 16 [Error] expected primary-expression before 'tmp'

查找了资料但是感觉这样定义没有什么问题

有问题,typedef是起别名,但是你的结构体根本就没有申明,所以没法使用,只能在定义了结构体后才能使用。

你这个int main函数连个括号都没有啊,直接上大括号啊
改成
int main()
{
}