c++ 简单静态链表

       所有结点(结构体变量)都是在程序中定义的,不是临时开辟的,也不能用完后释放,这种链表称为静态链表。对各结点既可以通过上一个结点的next指针去访问,也可以直接通过结构体变量名s1, s2, s3去访问。

      动态链表则是指各结点是可以随时插入和删除的,这些结点并没有变量名,只能先找到上一个结点,才能根据它提供的下一结点的地址找到下一个结点。只有提供第一个结点的地址,即头指针head,才能访问整个链表。如同一条铁链一样,一环扣一环,中间是不能断开的。

#include <QCoreApplication>
#include <iostream>

using namespace std;

struct Student{
   long num;
   float score;
   struct Student *next;
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Student s1,s2,s3;
    s1.num=1001;
    s1.score=80;

    s2.num=1002;
    s2.score=90;

    s3.num=1003;
    s3.score=99;

    Student *head;
    Student *p;

    head=&s1;
    s1.next=&s2;
    s2.next=&s3;
    s3.next=NULL;
    p=head;

    while(p!=NULL)
    {
        cout<<p->num<<"score:"<<p->score<<endl;
        p=p->next;//使p指向下一个结点

    }



    return a.exec();
}
原文地址:https://www.cnblogs.com/ike_li/p/7339622.html