/*main函式將乙個空指標的位址(二級指標)傳入多個子函式,每個子函式都需要新增新節點,形成鍊錶,要求不改變首節點所指向的位址,*/
typedef struct id_node_t
id_node_t;
void test1(id_node_t **p)
else
}return;
}void test2(id_node_t **p)
while(i--)
else
}printf("%s %p\n",__func__,*p);
*p = temp_node;
printf("%s %p\n",__func__,temp_node);
printf("%s %p\n",__func__,*p);
return ;
}void main(void)
return ;
}
執行結果
test2 0x9594008
test2 0x9594008
test2 0x9594028
test2 0x9594008
test2 0x9594008
----2
----1
----0
----9
----9
----9
二級指標的使用
有時候,我們需要在函式體的內部申請記憶體空間並初始化,然後將內部申請的儲存空間交付給外部指標來引用,這時候,我們可以使用二級指標作為申請空間的函式的引數來實現。main.c檔案 include include include pragma pack push,1 typedef struct use...
二級指標使用舉例
一 無法把指標變數本身傳遞給乙個函式 函式實參接收的實際是乙個指標變數 p 的複製,如p copy,而非指標變數本事,通過p copy可以改變p指向的變數的值,而不能改變p本身的值。eg 參考c語言深度解析4.6.2.2 include include void getmemory char p,i...
為什麼使用二級指標
設計乙個函式 void find1 char array,char search,char pa 要求 這個函式引數中的陣列array是以 0值為結束的字串,要求在字串array中查詢與引數search給出的字元相同的字元。如果找到,通過第三個引數 pa 返回array字串中首先碰到的字元的位址。如...