1. 程式人生 > >C連結串列

C連結串列

連結串列—>節點 {實際資料,下一個結點的地址 }

根據結點找元素,一個結點應包含一個指標。

一個指標型別的成員既可以指向其他型別的結構資料,也可以指向自己所在的結構體型別的資料。

#include <stdio.h>
#include <stdlib.h>
//宣告一個結構體
struct Student
{
    int num;
    float score;
    struct Student *next;
};
int main()
{
    struct Student a,b,c,*head,*p;//定義結構體變數a,b,c。頭指標,指標變數
    a.num=221701;a.score=67.16;//結構體變數初始化
    b.num=221703;b.score=88.35;
    c.num=221709;c.score=94.46;
    head=&a;//頭指標指向a的地址
    a.next=&b;//結構體指標的下一個指標指向b的地址
    b.next=&c;//結構體指標的下一個指標指向c的地址
    c.next=NULL;//結構體指標的下一個指標指向空地址,意味著結束。
    p=head;//P指標指向head
    do//do while 迴圈,輸出
    {
        printf("%1d %5.1f\n",p->num,p->score);//輸出學號及成績
        p=p->next;//指向下一個
    }while(p!=NULL);//如果不為空則繼續執行
    return 0;