2015-02-08 52 views
1

冒號的這種用法叫做什麼?冒號在C函數中表示什麼?

以下代碼摘自本書瞭解核心音頻

int main(int argc, const char * argv[]) 
    { 
    //... 

    cleanup: 
     AudioQueueDispose(queue, true); 
     AudioFileClose(player.playbackFile); 

     return 0; 
    } 
+2

還有一些可以出現冒號的其他上下文。 '我=(j> k)? l:m;'(三元或條件運算符); 'case'A':''''和'default:'(switch語句中的標籤),並定義位域:struct x {unsigned int x:2; 'a;'。我認爲這個列表完成了C中冒號的語法用法.C++有更多的用途:它使用'::'作爲範圍和':'在基於範圍的循環中等。 – 2015-02-08 02:26:23

+0

我知道三元運算符。標籤上沒有任何內容是奇怪的。我想「c功能冒號使用」對谷歌來說太模糊了。謝謝。 – Pescolly 2015-02-08 03:01:02

回答

6

這是一個標籤。它與goto語句一起用於控制程序的流程。

goto and Labeled Statements (C)

+3

爲了記錄,你應該小心goto語句:[他們可以導致velociraptors](http://xkcd.com/292/)。 – 2015-02-08 03:46:13

3

cleanup:是標籤。它可以用作goto語句的目標。

3

清理是一個標籤。您可以使用

goto cleanup; 

在您的代碼中將您的執行從清除標籤重定向。