C語言中的鏈表有什么作用

這篇文章主要介紹“C語言中的鏈表有什么作用”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“C語言中的鏈表有什么作用”文章能幫助大家解決問題。

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出召陵免費(fèi)做網(wǎng)站回饋大家。

首先,指針計(jì)算機(jī)中的所有內(nèi)容都是數(shù)字。在C語言中創(chuàng)建變量時(shí),編譯器僅按地址處理它,但是在您的代碼中,您可以通過兩種方式訪問它:按值和按地址。

C語言中的鏈表有什么作用

在該代碼中,我使用了三個(gè)變量,編譯器將通過地址訪問所有這些變量。

時(shí)間-全局變量-存儲在堆中

skip- 參數(shù)-存儲在堆棧中

i- 局部變量-存儲在堆棧中

“ Hello world-%d \ n”-存儲在堆中

堆是由編譯器與您的代碼鏈接的啟動(dòng)代碼分配的內(nèi)存塊。創(chuàng)建方式并不重要,但并非所有編譯器都一樣。那是我們想要得到的技術(shù)。

為簡化起見,假設(shè)變量Times 結(jié)束于內(nèi)存位置256(0x100)。堆棧上的變量i 的位置為64(0x40)。文字“ Hello  ...”的位置為200(0xc8)。最后,跳過會(huì)得到68(0x44)。

現(xiàn)在假設(shè)您像這樣調(diào)用function():

C語言中的鏈表有什么作用

這是for循環(huán)開始時(shí)的內(nèi)容:

時(shí)間-存儲在0x100-值為10

跳過-存儲在0x44-值2

i- 存儲在0x40-值0

未命名文字存儲在0xc8-值“ Hello world-%d \ n

現(xiàn)在尋址非常簡單。在C語言世界中,當(dāng)您使用不是指針的變量名時(shí),編譯器會(huì)將其視為“存儲在地址中的值”。因此,當(dāng)您使用變量skip時(shí),編譯器將使用“存儲在0x44處的值”。該代碼段中的所有變量均為“按值”,表示僅使用值。指針是變量的地址。假設(shè)我們這樣做:

C語言中的鏈表有什么作用

現(xiàn)在,您有了一個(gè)名為TimesPtr 的變量。像所有其他變量一樣,它具有與之關(guān)聯(lián)的內(nèi)存地址。但是通過將其定義為指針,您可以指定其值為內(nèi)存地址。

因此,使用上述所有數(shù)字,我們還將添加

TimesPtr -存儲在地址260(ox104) -堆棧中的

數(shù)-存儲在地址263(量0x108) -在堆

我們已將TimePtr 分配為Times 的地址,即0x100。在循環(huán)開始時(shí),我們指定i = 0,因此0存儲在0x40中。我們還分配Num  ,它也是指向整數(shù)0的指針。編譯器將創(chuàng)建代碼,0被放入量0x108,地址數(shù)。

當(dāng)您使用'*'運(yùn)算符時(shí),您正在告訴編譯器使用您指定的變量“存儲在地址中的值”。當(dāng)僅使用變量名時(shí),您將告訴編譯器“存儲的值”。

順便說一句,在printf()調(diào)用中,將文字的地址傳遞給函數(shù)printf(),因?yàn)槲淖衷诰幾g器中僅具有一個(gè)地址,而不是名稱(并且數(shù)組通過地址傳遞,并且該文字是一個(gè)字符數(shù)組)  )。

創(chuàng)建鏈表最簡單的方法是簡單地將一個(gè)指針添加為指向該結(jié)構(gòu)本身的結(jié)構(gòu)成員。它是這樣完成的:

C語言中的鏈表有什么作用

如果要使用typedef ,則不能使用typedef 名稱,因?yàn)樗形炊x。假設(shè)我們想將_student 結(jié)構(gòu)引用為studentT  。代碼如下所示:

C語言中的鏈表有什么作用

現(xiàn)在,next將是列表中下一個(gè)節(jié)點(diǎn)的地址,如果沒有,則為NULL。

C語言中的鏈表有什么作用

這是創(chuàng)建鏈接列表的最簡單方法。只需創(chuàng)建一個(gè)節(jié)點(diǎn),將其下一個(gè)指針分配給列表地址,然后將列表頭分配給該節(jié)點(diǎn)的地址。在類中,您最好處理strdup(),并記住在刪除節(jié)點(diǎn)時(shí)將其釋放。

現(xiàn)在,您需要在單個(gè)鏈表中插入和刪除的操作。我將為您提供一個(gè)通用鏈表,以保存任何數(shù)據(jù)類型:

C語言中的鏈表有什么作用

關(guān)于“C語言中的鏈表有什么作用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識點(diǎn)。

文章標(biāo)題:C語言中的鏈表有什么作用
瀏覽地址:http://muchs.cn/article30/pgdcpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、App開發(fā)、ChatGPT網(wǎng)站排名、標(biāo)簽優(yōu)化企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)