0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言入門之鏈表概述

jf_78858299 ? 來源:C語言入門到精通 ? 作者:閆小林 ? 2023-03-24 15:04 ? 次閱讀

C語言鏈表概述

鏈表是一種常見的重要的數(shù)據(jù)結(jié)構(gòu)。它是動態(tài)地進行存儲分配的一種結(jié)構(gòu),是根據(jù)需要開辟內(nèi)存單元。

鏈表有一個“頭指針”變量,它存放一個地址,該地址指向一個元素。

鏈表中每一個元素稱為“結(jié)點”,每個結(jié)點都應(yīng)包括兩個部分

  • 用戶需要的實際數(shù)據(jù)。
  • 下一個結(jié)點的地址。

鏈表中各元素在內(nèi)存中的地址可以是不連續(xù)的。

要找某一元素,必須先找到上一個元素,根據(jù)它提供的下一元素地址才能找到下一個元素。如果不提供“頭指針”,則整個鏈表都無法訪問。

鏈表如同一條鐵鏈一樣,一環(huán)扣一環(huán),中間是不能斷開的。

鏈表這種數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實現(xiàn),即一個結(jié)點中應(yīng)包含一個指針變量,用它存放下一結(jié)點的地址。

C語言使用鏈表輸出學(xué)號和成績

#include//頭文件
struct student //定義學(xué)生結(jié)構(gòu)體
{

int num;//學(xué)號
float score;//成績
struct student *next;
};
int main()//主函數(shù)
{
struct student str1,str2,str3;//定義結(jié)構(gòu)體變量
struct student *head,*point;//定義結(jié)構(gòu)體指針變量
str1.num=1;
str1.score=90.8;
str2.num=2;
str2.score=90.0;
str3.num=3;
str3.score=85.0;
head=&str1;//將第1個結(jié)點的起始地址賦給頭指針head
str1.next=&str2;//將第2個結(jié)點的起始地址賦給第1個結(jié)點的next成員
str2.next=&str3;//將第3個結(jié)點的起始地址賦給第2個結(jié)點的next成員
str3.next=NULL;//第3個結(jié)點的next成員賦給null
point=head;
do
{
printf("%d %3.1f\\n",point->num,point->score);//輸出結(jié)果
point=point->next;
}
while(point!=NULL);
return 0;//主函數(shù)返回值為0
}

編譯運行結(jié)果:

1 90.8
2 90.0
3 85.0

--------------------------------
Process exited after 0.1073 seconds with return value 0
請按任意鍵繼續(xù). . .
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    源碼|學(xué)生信息管理系統(tǒng)(C語言鏈表實現(xiàn))

    源碼|學(xué)生信息管理系統(tǒng)(C語言鏈表實現(xiàn))
    發(fā)表于 11-03 10:24 ?472次閱讀

    C語言實現(xiàn)靜態(tài)鏈表的建立

    在這么卷的時代,我覺得硬件工程師還是 要掌握基本的C語言編寫能力,鏈表在學(xué)生階段是一個比較難的知識點,可能有些同學(xué)上完一個大學(xué)都不會鏈表的編寫,但是在未來工作中,
    發(fā)表于 01-13 15:08 ?659次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>實現(xiàn)靜態(tài)<b class='flag-5'>鏈表</b>的建立

    C語言算法題:反轉(zhuǎn)一個單向鏈表

    鏈表是編程學(xué)習(xí)的一個難點。其實,在C語言編程以及單片機裸機開發(fā)中,鏈表運用并不多。但是如果想提升嵌入式技能水平或收入水平,可以考慮深入嵌入式系統(tǒng)層面(如參與操作系統(tǒng)設(shè)計、深入學(xué)習(xí)新的操
    發(fā)表于 06-21 11:07 ?566次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>算法題:反轉(zhuǎn)一個單向<b class='flag-5'>鏈表</b>

    C語言鏈表知識點(2)

    C語言鏈表知識點(2)
    發(fā)表于 08-22 10:38 ?255次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>鏈表</b>知識點(2)

    C語言鏈表

    C語言鏈表,,,
    發(fā)表于 11-07 17:19

    C語言玩轉(zhuǎn)鏈表

    C語言是必學(xué)的一個課程,不管你是單片機還是嵌入式物聯(lián)網(wǎng),都是基礎(chǔ),所以還是要好好學(xué)習(xí)的今天推薦的資料是關(guān)于C語言鏈表的資料我自己看了一下主要
    發(fā)表于 11-13 13:50

    怎么實現(xiàn)c語言循環(huán)鏈表

    怎么實現(xiàn)c語言循環(huán)鏈表?
    發(fā)表于 10-19 06:07

    C加加建立動態(tài)鏈表

    C加加建立動態(tài)鏈表利用C語言c++編寫程序
    發(fā)表于 11-19 13:43 ?0次下載

    C語言入門教程

    很好的C語言入門教程,可以肯定的說這個教程只是為初學(xué)或入門者準備的
    發(fā)表于 01-22 14:46 ?7次下載

    C語言入門經(jīng)典-C語言編程

    C語言入門經(jīng)典-C語言編程,感興趣的可以看看哦。
    發(fā)表于 08-16 18:54 ?121次下載

    51單片機c51語言入門教程C語言入門教程

    51單片機c51語言入門教程,C語言入門教程
    發(fā)表于 08-29 15:02 ?31次下載

    C語言鏈表相關(guān)資料下載

    C語言鏈表相關(guān)資料
    發(fā)表于 03-08 10:47 ?5次下載

    c語言入門書籍推薦

    本文主要介紹c語言入門書籍,首先講解了C語言的優(yōu)點,其次詳細的推薦了幾款適合C
    的頭像 發(fā)表于 04-13 09:52 ?4.7w次閱讀

    C語言入門教程之堆棧的詳細資料概述

    本文檔的主要內(nèi)容詳細介紹的是C語言入門教程之堆棧的詳細資料概述。
    發(fā)表于 11-29 11:47 ?12次下載

    C語言_鏈表總結(jié)

    本篇文章介紹C語言鏈表相關(guān)知識點,涉及鏈表的創(chuàng)建、單向鏈表、循環(huán)鏈表、雙向
    的頭像 發(fā)表于 08-14 09:53 ?1685次閱讀