第一种:
 
 struct 结构体类型名{
 任意类型 变量;
 };
 结构体类型名  *结构体变量=new 结构体类型名; 
 
 
#include<bits/stdc++.h>
using namespace std;
struct LNode {int data;struct LNode *next;
};
/*void PutElem(LNode *t){while(t->next!=NULL){cout<<t->data<<endl;t=t->next;}cout<<t->data<<endl;
}*/
//输出链表的元素
int main() {LNode *L=new LNode;L->next=NULL;
//输入链表/*for(int i=0; i<3; ++i) {LNode *p=new LNode;cin>>p->data;p->next=L->next;L->next=p;}*///PutElem(L->next);return 0;
}
 
第二种 
 
 struct 结构体类型名{
 };
 结构体类型名  *结构体变量=(结构体类型名*)malloc(sizeof(struct  结构体类型名)); 
 
 
#include<bits/stdc++.h>
using namespace std;
struct LNode {int data;struct LNode *next;
};
int main() {LNode *L=(LNode*)malloc(sizeof(struct LNode));L->next=NULL;return 0;
}
 
 第三种
 
 typedef struct 结构体类型名{
 任意类型 变量;
 };
 结构体类型名*  结构体变量=new 结构体类型名; 
 
 
#include<bits/stdc++.h>
using namespace std;
typedef struct LNode {int data;struct LNode *next;
};
int main() {LNode* L=new LNode;L->next=NULL;return 0;
}