第三節課
我們在使用c語言進行編寫程式的時候,就一定會使用上指標,指標的操作是編寫程式的一個點。
1:指標是一個地址,指向的是個型別:
2:指標指向的是地址,地址指向的是內容:
為什麼使用指標:
很多情況可以用到。這需要在程式設計過程中形成一種思維。如 將一個結構體傳遞給一個函式。如果不用指標,傳送速度慢,如果通過指標,只要傳遞一個地址。指
針是C語言的重要組成部分。靈活的使用指標可以提高程式的執行效率,可建立動態陣列,可以靈活 的處理字串等等。本文簡要介紹了指標的重要作用,從而使初學者更好地瞭解使用指標的必要性。
。
1.什麼是連結串列
連結串列我的理解要包含以下特徵:(1).由n個節點離散分配;(2).每個節點通過指標連線(3)每一個節點由一個前驅節點和一個後驅節點(4).首節點沒有前驅節點,尾節點沒有後驅節點;
滿足上面的4條,我們就稱為連結串列;連結串列既然由很多個節點,那節點又由什麼組成?節點由兩個部分組成,一是資料域,用來存放有效資料;二是指標域,用來指向下一個節點;下面用C語言來構建連結串列資料結構,首先應該構造出節點,然後再把所有的節點連起來,就構成了連結串列;
(1)節點的構造
typedef 只是給資料型別取個別名,即 typedef 資料型別 別名;我們知道struct Node 是我們定義的資料型別;(2)連結串列的建立
在建立連結串列之前,我們需要需要了解一下專業術語:
首節點:存放第一個有效資料的節點;
尾節點:存放最後一個有效資料的節點;
頭節點:頭節點的資料型別與首節點的資料型別相同,並且頭節點是首節點前面的那個節點,並不存放有效資料;頭節點的存在只是為了方便連結串列的操作。
頭指標:指向頭節點的指標;
尾指標:指向尾節點的指標;
首先,我們應該建立一個頭節點,並用頭指標指向它,用C語言描述:用malloc向計算機申請一塊記憶體,並定義一個指向與頭節點資料型別相同的指標(一定要判斷申請記憶體是否成功);
然後,要知道要建立連結串列的長度,用一個迴圈來每次建立一個節點,並把每個節點連在一起;
指標就是一個存放地址的變數當指標指向某個變數這時這個指標裡就存放了那個變數的地址同時可以利用指標直接取變數中的值用 只要在指標前加
*
如果不用指標,傳送速度慢,如果通過指標,只要傳遞一個地,不用傳送該地址 的內容就可以直接進行運算,方便快捷,
使用指標來讀取資料,在重複性操作的狀況下,可以明顯改善程式效能
就是一連續記憶體空間,類似於陣列,不過陣列的記憶體空間一旦初始化就是不變的。連結串列開始是一個“頭指標”,定義了連結串列開始的位置,下面是像鏈條一樣的一串節點,每個節點包含資料部分和指標部分。前一節點的指標指向後一節點,最後一個節點是資料和空地址,表示結束。好處在於空間是動態分配的,需要多長可以一直鏈下去。