iT邦幫忙

0

資料結構(八)鏈結串列程式實作-1指標

先了解指標和陣列用法,對鏈結串列程式實作會很有幫助。

【大綱】

  • 鏈結串列前置
  • 指標是門牌號碼
  • 指標程式實作
  • 總結

參考:
簡單搞懂指標作者hackgrass

【鏈結串列前置】

要先學好指標(pointer)和陣列(array),
陣列是初學者比較熟悉的,
但指標就有困難。

【指標是門牌號碼】

intchardouble:房子的坪數
*:門牌號碼(宣告指標)[1]
&:地址(取址運算子)

char newhome[3]={0,0,0};
int *old = &newhome;

行1:
char8坪的新家
newhome[3]3戶住在newhome,所以共用門牌號。

行2:
int則表示舊家有32坪
*old舊家門牌號碼
&newhome新家地址

簡單來說就是,
在舊家門牌號碼貼上新地址轉寄通知。

[1]還有隱藏身分"乘法"

【指標程式實作】

假設新家門牌是36號

/*宣告*/
char newhome[3]={0,0,0};
int *old = &newhome;

/*行5:處理*/
newhome[0]=1; /*36號之1*/
*(newhome+1)=2; /*36號之1的隔壁鄰居*/
*(old+2)=3; /*搬去36號之1的隔壁的隔壁*/

行6~7:分別是36號之2和36號之3

陣列其實也是指標,
而且是唯讀指標不可以指向其他地址,
不然其他共用這個門牌號的住戶會很傷腦筋。

【總結】

指標感覺又要寫一個禮拜,
本來想畫圖的不過時間有點趕,
明天再寫圖文版。

感謝撥冗閱讀,有誤地方歡迎指教。


尚未有邦友留言

立即登入留言