中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2022-04-02 11:01:40 來源:億速云 閱讀:292 作者:iii 欄目:編程語言

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

首先,指針計算機中的所有內容都是數字。在C語言中創建變量時,編譯器僅按地址處理它,但是在您的代碼中,您可以通過兩種方式訪問它:按值和按地址。

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

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

時間-全局變量-存儲在堆中

skip- 參數-存儲在堆棧中

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

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

堆是由編譯器與您的代碼鏈接的啟動代碼分配的內存塊。創建方式并不重要,但并非所有編譯器都一樣。那是我們想要得到的技術。

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

現在假設您像這樣調用function():

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

這是for循環開始時的內容:

時間-存儲在0x100-值為10

跳過-存儲在0x44-值2

i- 存儲在0x40-值0

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

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

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

現在,您有了一個名為TimesPtr 的變量。像所有其他變量一樣,它具有與之關聯的內存地址。但是通過將其定義為指針,您可以指定其值為內存地址。

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

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

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

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

當您使用'*'運算符時,您正在告訴編譯器使用您指定的變量“存儲在地址中的值”。當僅使用變量名時,您將告訴編譯器“存儲的值”。

順便說一句,在printf()調用中,將文字的地址傳遞給函數printf(),因為文字在編譯器中僅具有一個地址,而不是名稱(并且數組通過地址傳遞,并且該文字是一個字符數組)  )。

創建鏈表最簡單的方法是簡單地將一個指針添加為指向該結構本身的結構成員。它是這樣完成的:

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

如果要使用typedef ,則不能使用typedef 名稱,因為它尚未定義。假設我們想將_student 結構引用為studentT  。代碼如下所示:

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

現在,next將是列表中下一個節點的地址,如果沒有,則為NULL。

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

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

現在,您需要在單個鏈表中插入和刪除的操作。我將為您提供一個通用鏈表,以保存任何數據類型:

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

關于“C語言中的鏈表有什么作用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖宇县| 双柏县| 旅游| 西安市| 莲花县| 宽城| 鞍山市| 上蔡县| 高州市| 阳山县| 廉江市| 石台县| 玉龙| 个旧市| 海丰县| 瑞安市| 外汇| 阳东县| 华池县| 海门市| 禄丰县| 阜新市| 丰顺县| 屏山县| 霍城县| 长宁区| 枣庄市| 宜州市| 邻水| 凤庆县| 勐海县| 民乐县| 丰原市| 肇源县| 延寿县| 勃利县| 河西区| 香河县| 滦南县| 江门市| 怀仁县|