c语言链表无法打印 求解答

链表无法打印

能运行 但是没有结果

#include
#include
typedef struct Node{
    int date;
    struct Node* next;
}List,*ListNode;
int main(){
    ListNode head,r,pNode,Tmp;
    head=r=(ListNode)malloc(sizeof(List));
    head->next=NULL;
    r=head;
    r->next->date=1;
    r=r->next;
    r->next->date=2;
    r=r->next;
    r->next=NULL;
    while(head!=NULL){
        head=head->next;
        printf("%d   ",head->date);
    }
    return 0;
}

img

不知道哪里出毛病了

想要能输出1 2



img


你head->next=NULL 他是一个空指针啊,r->next->date=1 你不能向一个空指针中写入数据啊

你不想写个完全的createLink方法,只想做个试验的话,那好歹你得有2个节点吧
你只分配了一个节点的内存,另一个节点连内存都没有,能赋值成功才怪