1. 程式人生 > >switch的跳轉表

switch的跳轉表

在進行實驗的時候對switch的跳轉表不是很理解,所以經過查詢資料進行自我總結

我的疑問:

1.跳轉表是否是隨機生成的?

是隨機生成的

2.跳轉表的工作原理?

https://blog.csdn.net/wenpinglaoyao/article/details/51099553
https://geekori.com/details.php?que_id=1624

3.跳轉表中每個case之間的關係?

跳躍表的性質;

1.由很多層結構組成;
2.每一層都是一個有序的連結串列,排列順序為由高層到底層,都至少包含兩個連結串列節點,分別是前面的head節點和後面的nil節點;
3.最底層的連結串列包含了所有的元素;
4.如果一個元素出現在某一層的連結串列中,那麼在該層之下的連結串列也全都會出現(上一層的元素是當前層的元素的子集);
5.連結串列中的每個節點都包含兩個指標,一個指向同一層的下一個連結串列節點,另一個指向下一層的同一個連結串列節點;

switch中的整數範圍在編譯器處理的時候是連續分佈的,對於沒有出現在case中的整數,它在跳轉表中的資料就是default時的跳轉地址,