遇到乙個這個樣的定義static list_create( table_done_list );,居然沒有宣告table_done_list 這個變數
跟蹤**#define list_create(name) \
struct list name = list_init(name) 可以看到list_create是乙個巨集定義
list_init也是乙個巨集定義 #define list_init(name)
其實替換下來就是
static list_create( table_done_list ) 就是 static struct list table_done_list = 也就是用這種方式宣告了乙個靜態變數
詳細分析請看
雙向鍊錶筆記
雙向鍊錶增刪,準備未來複習自己用 include using namespace std typedef struct node node 測試雙向鍊錶 void showlink node p puts 雙向鍊錶插入 void addnode node head,node tail 在中間新增 w...
C語言 鍊錶筆記
我們至少可以用兩種方式儲存資料 1 陣列 優點 儲存速度快 缺點 需要乙個連續的很大的記憶體 插入和刪除元素的效率很低。陣列每個單元只儲存元素的實際值 2 鍊錶 優點 插入刪除元素的效率高 不需要乙個連續大的記憶體 缺點 查詢元素效率低 鍊錶每個單元分兩部分,左邊儲存實際元素值,右邊儲存下乙個元素的...
c 語言鍊錶 筆記
鍊錶初始化時需要二級指標 此處的二級指標即,pphead指向phead指向的值 nodetype phead null crealist phead 傳位址 static void crealist nodetype pphead nodetype phead null crealist phead...