要创建一个链表,并且打印出一个链表;
①定义好结构体(指针域和数据域)
②创建一个头指针
③创建一个节点指针
④创建资源存放指针
⑤先将数据存放到资源存放指针,再将资源指针赋值给头指针,接着将节点指针的指针域指向资源存放指针,接着更新节点指针地址。
下面是示例代码:
#inclue
#include
typedef struct Num
{
int x;
int y;
struct Num *next;
}NUM;
int main(void)
{
int a;
printf("number is ");
scanf("%d",&a);
NUM * numpos = (NUM*)malloc(sizeof(NUM));
NUM * head = (NUM*)malloc(sizeof(NUM));
for(int i = 0; i < a; i++)
{
NUM * num = (NUM*)malloc(sizeof(NUM));
scanf("%d %d",&num->x,&num->y);
if(i == 0)
{
head = num; //保存首地址
numpos = num; //提供连接使用(这句可以省略)
}
num->next = NULL; //末尾指向空
numpos->next = num; //上个节点的地址指向本节点
numpos = num; //更新节点地址
}
for(int i = 0; i < a; i++)
{
printf("%d %d\n",head->x,head->y);
head = head->next; //顺序不能颠倒
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)