冒號的這種用法叫做什麼?冒號在C函數中表示什麼?
以下代碼摘自本書瞭解核心音頻。
int main(int argc, const char * argv[])
{
//...
cleanup:
AudioQueueDispose(queue, true);
AudioFileClose(player.playbackFile);
return 0;
}
冒號的這種用法叫做什麼?冒號在C函數中表示什麼?
以下代碼摘自本書瞭解核心音頻。
int main(int argc, const char * argv[])
{
//...
cleanup:
AudioQueueDispose(queue, true);
AudioFileClose(player.playbackFile);
return 0;
}
這是一個標籤。它與goto
語句一起用於控制程序的流程。
爲了記錄,你應該小心goto語句:[他們可以導致velociraptors](http://xkcd.com/292/)。 – 2015-02-08 03:46:13
cleanup:
是標籤。它可以用作goto
語句的目標。
清理是一個標籤。您可以使用
goto cleanup;
在您的代碼中將您的執行從清除標籤重定向。
還有一些可以出現冒號的其他上下文。 '我=(j> k)? l:m;'(三元或條件運算符); 'case'A':''''和'default:'(switch語句中的標籤),並定義位域:struct x {unsigned int x:2; 'a;'。我認爲這個列表完成了C中冒號的語法用法.C++有更多的用途:它使用'::'作爲範圍和':'在基於範圍的循環中等。 – 2015-02-08 02:26:23
我知道三元運算符。標籤上沒有任何內容是奇怪的。我想「c功能冒號使用」對谷歌來說太模糊了。謝謝。 – Pescolly 2015-02-08 03:01:02