這篇文章主要介紹“C語(yǔ)言中的鏈表有什么作用”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“C語(yǔ)言中的鏈表有什么作用”文章能幫助大家解決問(wèn)題。
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出召陵免費(fèi)做網(wǎng)站回饋大家。
首先,指針計(jì)算機(jī)中的所有內(nèi)容都是數(shù)字。在C語(yǔ)言中創(chuàng)建變量時(shí),編譯器僅按地址處理它,但是在您的代碼中,您可以通過(guò)兩種方式訪問(wèn)它:按值和按地址。

在該代碼中,我使用了三個(gè)變量,編譯器將通過(guò)地址訪問(wèn)所有這些變量。
時(shí)間-全局變量-存儲(chǔ)在堆中
skip- 參數(shù)-存儲(chǔ)在堆棧中
i- 局部變量-存儲(chǔ)在堆棧中
“ Hello world-%d \ n”-存儲(chǔ)在堆中
堆是由編譯器與您的代碼鏈接的啟動(dòng)代碼分配的內(nèi)存塊。創(chuàng)建方式并不重要,但并非所有編譯器都一樣。那是我們想要得到的技術(shù)。
為簡(jiǎn)化起見(jiàn),假設(shè)變量Times 結(jié)束于內(nèi)存位置256(0x100)。堆棧上的變量i 的位置為64(0x40)。文字“ Hello ...”的位置為200(0xc8)。最后,跳過(guò)會(huì)得到68(0x44)。
現(xiàn)在假設(shè)您像這樣調(diào)用function():

這是for循環(huán)開(kāi)始時(shí)的內(nèi)容:
時(shí)間-存儲(chǔ)在0x100-值為10
跳過(guò)-存儲(chǔ)在0x44-值2
i- 存儲(chǔ)在0x40-值0
未命名文字存儲(chǔ)在0xc8-值“ Hello world-%d \ n
現(xiàn)在尋址非常簡(jiǎn)單。在C語(yǔ)言世界中,當(dāng)您使用不是指針的變量名時(shí),編譯器會(huì)將其視為“存儲(chǔ)在地址中的值”。因此,當(dāng)您使用變量skip時(shí),編譯器將使用“存儲(chǔ)在0x44處的值”。該代碼段中的所有變量均為“按值”,表示僅使用值。指針是變量的地址。假設(shè)我們這樣做:

現(xiàn)在,您有了一個(gè)名為T(mén)imesPtr 的變量。像所有其他變量一樣,它具有與之關(guān)聯(lián)的內(nèi)存地址。但是通過(guò)將其定義為指針,您可以指定其值為內(nèi)存地址。
因此,使用上述所有數(shù)字,我們還將添加
TimesPtr -存儲(chǔ)在地址260(ox104) -堆棧中的
數(shù)-存儲(chǔ)在地址263(量0x108) -在堆
我們已將TimePtr 分配為T(mén)imes 的地址,即0x100。在循環(huán)開(kāi)始時(shí),我們指定i = 0,因此0存儲(chǔ)在0x40中。我們還分配N(xiāo)um ,它也是指向整數(shù)0的指針。編譯器將創(chuàng)建代碼,0被放入量0x108,地址數(shù)。
當(dāng)您使用'*'運(yùn)算符時(shí),您正在告訴編譯器使用您指定的變量“存儲(chǔ)在地址中的值”。當(dāng)僅使用變量名時(shí),您將告訴編譯器“存儲(chǔ)的值”。
順便說(shuō)一句,在printf()調(diào)用中,將文字的地址傳遞給函數(shù)printf(),因?yàn)槲淖衷诰幾g器中僅具有一個(gè)地址,而不是名稱(chēng)(并且數(shù)組通過(guò)地址傳遞,并且該文字是一個(gè)字符數(shù)組) )。
創(chuàng)建鏈表最簡(jiǎn)單的方法是簡(jiǎn)單地將一個(gè)指針添加為指向該結(jié)構(gòu)本身的結(jié)構(gòu)成員。它是這樣完成的:

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

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

這是創(chuàng)建鏈接列表的最簡(jiǎn)單方法。只需創(chuàng)建一個(gè)節(jié)點(diǎn),將其下一個(gè)指針?lè)峙浣o列表地址,然后將列表頭分配給該節(jié)點(diǎn)的地址。在類(lèi)中,您最好處理strdup(),并記住在刪除節(jié)點(diǎn)時(shí)將其釋放。
現(xiàn)在,您需要在單個(gè)鏈表中插入和刪除的操作。我將為您提供一個(gè)通用鏈表,以保存任何數(shù)據(jù)類(lèi)型:

關(guān)于“C語(yǔ)言中的鏈表有什么作用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
文章標(biāo)題:C語(yǔ)言中的鏈表有什么作用
瀏覽地址:http://www.chinadenli.net/article30/pgdcpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、App開(kāi)發(fā)、ChatGPT、網(wǎng)站排名、標(biāo)簽優(yōu)化、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)