C語言32個關鍵字

關鍵字就是已被C語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變量名、函數名等

 

  由ANSI標準定義的C語言關鍵字共32個:

 

  auto double int struct break else long switch

 

  case enum register typedef char extern return union

 

  const float short unsigned continue for signed void

 

  default goto sizeof volatile do if while static

 

  根據關鍵字的作用,可以將關鍵字分爲數據類型關鍵字和流程控制關鍵字兩大類。

 

  1 數據類型關鍵字

 

  A.基本數據類型(5個)

 

  void :聲明函數無返回值或無參數,聲明無類型指針,顯式丟棄運算結果

 

  char :字符型類型數據,屬於整型數據的一種

 

  int :整型數據,通常爲編譯器指定的機器字長

 

  float :單精度浮點型數據,屬於浮點數據的一種

 

  double :雙精度浮點型數據,屬於浮點數據的一種

 

  B .類型修飾關鍵字(4個)

 

  short :修飾int,短整型數據,可省略被修飾的int。

 

  long :修飾int,長整形數據,可省略被修飾的int。

 

  signed :修飾整型數據,有符號數據類型

 

  unsigned :修飾整型數據,無符號數據類型

 

  C .複雜類型關鍵字(5個)

 

  struct :結構體聲明

 

  union :共用體聲明

 

  enum :枚舉聲明

 

  typedef :聲明類型別名

 

  sizeof :得到特定類型或特定類型變量的大小

 

  D .存儲級別關鍵字(6個)

 

  auto :指定爲自動變量,由編譯器自動分配及釋放。通常在棧上分配

 

  static :指定爲靜態變量,分配在靜態變量區,修飾函數時,指定函數作用域爲文件內部

 

  register :指定爲寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數

 

  extern :指定對應變量爲外部變量,即標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。

 

  const :與volatile合稱“cv特性”,指定變量不可被當前線程/進程改變(但有可能被系統或其他線程/進程改變)

 

  volatile :與const合稱“cv特性”,指定變量的值有可能會被系統或其他進程/線程改變,強制編譯器每次從內存中取得該變量的值

 

  2 流程控制關鍵字

 

  A .跳轉結構(4個)

 

  return :用在函數體中,返回特定值(或者是void值,即不返回值)

 

  continue :結束當前循環,開始下一輪循環

 

  break :跳出當前循環或switch結構

 

  goto :無條件跳轉語句

 

  B .分支結構(5個)

 

  if :條件語句,後面不需要放分號

 

  else :條件語句否定分支(與if連用)

 

  switch :開關語句(多重分支語句)

 

  case :開關語句中的分支標記

 

  default :開關語句中的“其他”分支,可選。

 

  C .循環結構(3個)

 

  for:for循環結構,for(1;2;3)4;的執行順序爲1->2->4->3->2...循環,其中2爲循環條件。在整個for循環過程中,表達式1只計算一次,表達式2和表達式3則可能計算多次,也可能一次也不計算。循環體可能多次執行,也可能一次都不執行。

 

  do :do循環結構,do 1 while(2); 的執行順序是1->2->1...循環,2爲循環條件

 

  while :while循環結構,while(1) 2; 的執行順序是1->2->1...循環,1爲循環條件

 

  以上循環語句,當循環條件表達式爲真則繼續循環,爲假則跳出循環。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章