成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

十分鐘帶你理解C語言中的鏈表

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

[[344133]]

 首先,指針計算機中的所有內容都是數字。在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語言中的鏈表

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2019-04-01 14:59:56

負載均衡服務器網絡

2022-06-16 07:31:41

Web組件封裝HTML 標簽

2024-11-07 16:09:53

2012-07-10 01:22:32

PythonPython教程

2020-11-26 14:05:39

C ++運算符數據

2016-06-13 14:07:50

Java動態代理

2024-10-25 15:56:20

2024-12-13 15:29:57

SpringSpringBeanJava

2020-12-09 16:41:22

LinuxIT開發

2022-03-23 09:32:38

微服務容器Kubernetes

2020-12-17 06:48:21

SQLkafkaMySQL

2024-07-12 09:00:00

2023-08-15 15:50:42

2016-01-04 11:18:00

KubernetesKubernetes概容器技術

2024-06-19 09:58:29

2021-09-07 09:40:20

Spark大數據引擎

2023-04-12 11:18:51

甘特圖前端

2015-09-06 09:22:24

框架搭建快速高效app

2024-05-13 09:28:43

Flink SQL大數據

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久免费大片 | 九九免费在线视频 | 中文字幕一区二区三区四区五区 | 黄色大片网 | 国产一区二区三区高清 | 伊人一二三 | 日韩小视频在线 | 亚洲第一在线视频 | 麻豆精品久久久 | 国产一区二区精品在线 | 久久久久久久久99精品 | 国产三级 | 久久久精品 | 国产日韩一区二区 | 国产精品免费一区二区三区四区 | 中文字幕av免费 | 九九九久久国产免费 | 91精品国产91久久久久久吃药 | 日本在线免费看最新的电影 | 成人免费视屏 | 91视视频在线观看入口直接观看 | 免费观看一级毛片 | 在线成人免费视频 | 一区观看| 成人欧美一区二区三区在线播放 | 羞羞视频在线观免费观看 | 国产精品美女久久久久久久久久久 | 免费在线观看一区二区 | 日本一区二区不卡视频 | 欧美色性 | 免费观看黄a一级视频 | 99精品视频在线 | 天天干天天操天天爽 | 午夜综合 | av天天澡天天爽天天av | 羞羞视频免费在线观看 | 一区二区三区国产好的精 | 狠狠干五月天 | 欧美三级在线 | 久久99精品国产 | 欧美一级大黄 |