Switch語句的實現機制

2021-05-23 06:39:56 字數 477 閱讀 3972

switch

的底層實現機制根據

switch

需要判斷的表示式的複雜性和不同編譯器有所不同。一般情況下,

switch

有三種實現機制,分別是直接判斷、跳轉表和樹型結構。編譯器根據需要判斷表示式的複雜性並採用相應的的實現方式。下面分別研究這三種

switch機制(

1)直接判斷

當程式中不存在

break

的時候,反彙編中對應的跳到結束的

jmp也就不存在。以上反彙編**與

if···

else

類似。(

2)跳轉表

通過檢視記憶體資料得知

8214e4h

處的資料正是上面反彙編**中那

6個字串輸出函式位址。如果

switch

語句需要比較的表示式常量很多,而且這些表示式常量基本是按順序排列的,那麼使用跳轉表將會大大提高效率。

語句 switch語句

switch語句的特點如下 1 switch x 被選擇的內容 即x 只能是byte,short,int,char這四種型別 2 備選答案並沒有指定的順序,但是執行肯定是從第乙個case開始的,如果其中有匹配的case,執行完,通過該case的break就結束了switch。如果沒有匹配的case,...

if語句和switch語句

利用if else構建分支結構if 表示式 語句1 else else部分是可選的 語句2 當表示式為真的時候,執行語句1,當表示式為假的時候,並且有else語句就執行語句2。if語句巢狀的時候,每乙個else要與最近的且沒有else語句的if進行匹配。例 if i 0 if a b else 例 ...

C 語句 switch語句

switch 語句選擇乙個要執行的語句列表,此列表具有乙個相關聯的 switch 標籤,它對應於 switch 表示式的值.switch statement switch expression switch block switch block switch block 一組switch secti...