在C語言中,多個數據的儲存通常會用到數組。但是C語言的數組有個缺陷,就是固定長度,超過數組的最大長度就會溢出。怎樣實現N個數儲存起來而不被溢出呢。
學過java的都知道,java.util包里有一個LinkedList類,它是一個鏈狀的集合。
而且你可以看到,LinkedList把它的增刪改查操作,都封裝成對應的方法。
眾所周知,C語言是一門面向過程的語言,那我們該如何利用面向對象的思想用C語言實現類似LinkedList集合呢。
接下來,我們用C語言來做一遍:
首先,寫一個結構體(LinkedList集合),模仿java中LinkedList的一些方法,結構體里面放的是函數指針,這樣就能指向對應的函數了。
為了方便儲存,在C中,定義全局變量
在java中,集合是new出來的,為此,我們也把創建集合封裝成一個函數。
使用malloc函數就是向內存開辟空間給list存放數據
下面是LinkedList集合的函數實現(舉例sava添加方法,其他的以此類推,學會了這個,你就能舉一反三了):
接下來,main函數這樣調用。C語言唯一沒有的就是泛型。